在龙芯3C5000LV10麒麟服务器操作系统通用版上源码编译部署QT开发环境
在龙芯3C5000L+V10麒麟服务器操作系统通用版上源码编译部署QT开发环境
一、写在前面的话
因为工作需要,需在国产软硬件平台上搭建QT开发环境。龙芯3C5000L的指令集与X86不同,QT没有提供在麒麟系统下适配该CPU的直接安装程序,所以只能通过源码编译部署QT开发环境。最初在QT官网下载了最新版本的源代码,在网上查了很多教程和方法,踩过太多坑都没有成功。最后还是选择了QT比较老的5.14.2版本,编译部署成功。3C5000L芯片推出时间还不长,而最新QT版本源码编译时所需依赖库的版本也较高,有些依赖库尚未适配3C5000L芯片,导致在源码编译过程中出现各种错误。这可能也是国产软硬件平台目前普遍存在的问题,由于各类操作系统和硬件平台版本众多,导致软件生态圈五花八门,在不同CPU和操作系统下编译源码可能出现各种意想不到的问题。
二、配置编译环境
1)在桌面打开终端,依次执行以下命令,安装编译QT源码需要的依赖库。编译QT源码时所需要的依赖库比较多,执行下面命令去匹配相关依赖库,可以防止遗漏。
yum install -y xcb
yum install -y x11
yum install -y glu
yum install -y asound
yum install -y clang
2)在终端中依次执行“make -v”、“gcc -v”、“gdb -v”命令,确认相关编译调试工具已安装,如下图所示。
三、编译前准备
1)在路径“/SelfDisk”下创建文件夹“QTInstallFile”,并在该文件夹下创建“buildFile”和“buildCreator”两个文件夹。在路径“/usr/local”下创建文件夹“QT5.14.2”用于放置安装文件,创建文件夹“QTCreator”用于放置QT Creator开发工具安装包。“/SelfDisk”只是我创建的路径,路径可以自行选择,下同。创建“buildFile”和“buildCreator”两个文件夹的目的是用于存放编译过程中产生的中间和目标文件,避免这些文件与源码混合在一起。如果混在一起,若编译失败需要重新编译时,必须重新解压源码包,这会导致更多的重复工作,耗费时间。
2)将下载的“qt-everywhere-src-5.14.2.tar.xz”源码压缩包使用“归档管理器打开”,并解压到“/SelfDisk/QTInstallFile”目录下,文件夹名为“qt-everywhere-src-5.14.2”。
3)将下载的“qt-creator-opensource-src-4.14.2.tar.xz”源码压缩包使用“归档管理器打开”,并解压到“/SelfDisk/QTInstallFile”目录下,文件夹名为“qt-creator-opensource-src-4.14.2”。
4)在路径“/SelfDisk/QTInstallFile/qt-everywhere-src-5.14.2/qtbase/src/3rdparty/double-
conversion/include/double-conversion”下打开文件“utils.h”,在文件中增加一个宏定义“defined(loongarch)”,如下图所示。修改完成后保存文件。加入此宏定义的目的是因为5.14.2版本中并未定义3A5000L使用的loogarch指令集。
5)在路径“/SelfDisk/QTInstallFile/qt-everywhere-src-5.14.2/qtscript/src/3rdparty/
javascriptcore/JavaScriptCore/runtime”下打开文件“JSValue.h”,将源码中的“int32_t”更改为“int64_t”,如下图所示。注意根据对应的行数确定修改位置。
四、编译安装QT源码包
1)进入路径“/SelfDisk/QTInstallFile/buildFile”,在该路径下打开终端,并执行命令“../qt-everywhere-src-5.14.2/configure -prefix /usr/local/QT5.14.2”,如下图所示。/usr/local/QT5.14.2是后面编译完成后,执行安装操作时,QT的安装路径,可以根据需要自行修改。在执行此条命令时,网上给出了很多跳过各种包的设置,此处没有采用,而是直接设置为全部编译。此命令将执行过程耗时有一点长,等待即可。
2)配置编译设置完成后,窗口中的警告信息可以忽略。输入“o”,并输入“y”接受许可,然后执行“gmake -j64”(此处采用并行编译,64为服务器内核数量)命令开始编译源码,如下图所示。此过程耗时较长,约1小时。
3)编译完成后,在终端中执行“make install”命令,软件将安装到指定的“/usr/local/QT5.14.2”路径下。
4)在路径“/etc”下打开文件“bashrc”,在文件中添加如下代码,并在终端中执行“source /etc/profile”命令,让修改生效。此步是将QT添加到系统环境目录中。
export QTDIR=/usr/local/QT5.14.2
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
5)在终端中执行“qmake -v”命令,如下图所示,表示QT开发包安装成功。此时可以在计算机上编译运行QT代码了。
五、编译安装QT Creator
有了QT编译环境,还需要开发工具QT Creator。QT Creator必须在QT编译环境配置好后才能编译安装,因为QT Creator是使用QT开发的。具体步骤如下:
1)进入路径“/SelfDisk/QTInstallFile/buildCreator”,在该路径下打开终端,并执行命令“qmake ../qt-creator-opensource-src-4.14.2”。
2)继续在终端中执行“make -j64”命令,开始编译源码。
3)编译完成后,继续执行“make install INSTALL_ROOT=/usr/local/QTCreator”命令,将QT Creator开发工具安装到指定路径下。
4)在路径“/usr/local/QTCreator/bin”下找到“qtcreator”可执行文件,双击可启动QT Creator开发工具,也可右键在桌面建立快捷方式。
5)启动QT Creator开发工具,依次点击“工具”、“选项”打开配置界面,在窗体左侧栏内选择“Kits”,然后在界面中选择“Qt version”、“手动设置”选项,首先清除默认值,然后手动添加qmake,并应用,如下图所示。
6)在上图中选择“Kits”,弹出下图界面,设置Qt version为Qt5.14.2,点击“OK”后完成QT Creator开发工具设置。
至此整个环境配置就完成,可以在QT Creator中进行开发了。