文章目录

1QtCreator1.1 QtCreator选择1.2 QtCreator安装1.2.1 安装Qt5.15下载安装运行

1.2.2 安装QtCreator下载安装运行Locked

1.3 Qt5.15配置GCC配置G++配置qmake配置Kits配置

2 arm QtCreator配置2.1 交叉编译器和Qt库2.2 Qt5.15配置GCC配置G++配置qmake配置Kits配置

3 示例demo3.1 创建项目3.2 代码实现3.3 编译&运行X86与ARM镜像

参考

1QtCreator

1.1 QtCreator选择

在Qt5.15以前,Qt creator与Qt版本库是打包在一起发布的,比如要开发基于Qt5.14的代码,则从官网下载,安装,然后就可以参考Qt5.14的接口,进行开发。 但从Qt5.14以后,集成开发环境和Qt版本库是分开的,如下所示,只有源码,没有qt-opensource-xx 安装Qt,是在安装QtCreator的时候安装的,即一个Qt Creator,可以同时安装多个Qt不同的版本,如想要开发Qt6.2,则选择Qt6.2的库安装,如想要开发Qt5.15,则选择Qt5.15的库安装,Qt官方不会为每一个Qt版本,单独出一个Qt Creator.

所以我们 要想编译Qt5.15,需要通过QtCreator来实现安装。

单独安装QtCreator时有一个问题,QtCreator版本越高,它对编译器gcc的版本也越高,而gcc的版本,又和Ubuntu的版本有关,Ubuntu的版本越高,gcc的版本也会越高(当然也可以自定义),所以一个折中的方法是,QtCreator使用低版本的,如Qt5.14,而通过高版本的QtCreator来安装Qt5.15,使用低版本的QtCreator+Qtx.yy来安装QtCreator。

1.2 QtCreator安装

1.2.1 安装Qt5.15

下载

安装

1 修改权限 2 登录,然后《下一步》

3 默认没有出现我们想要的Qt5.15 4 更新源,选择Qt5.15 4 继续下一步,直接安装结束

运行

运行报错

WISONIC\80081001@ub16-1001:~$ /opt/Qt/Tools/QtCreator/bin/qtcreator

/opt/Qt/Tools/QtCreator/bin/qtcreator: /lib/x86_64-linux-gnu/libz.so.1: version `ZLIB_1.2.9' not found (required by /opt/Qt/Tools/QtCreator/bin/../lib/Qt/lib/libQt6Gui.so.6)

/opt/Qt/Tools/QtCreator/bin/qtcreator: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by /opt/Qt/Tools/QtCreator/bin/../lib/Qt/lib/libQt6Gui.so.6)

/opt/Qt/Tools/QtCreator/bin/qtcreator: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by /opt/Qt/Tools/QtCreator/bin/../lib/Qt/lib/libQt6Core.so.6)

/opt/Qt/Tools/QtCreator/bin/qtcreator: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /opt/Qt/Tools/QtCreator/bin/../lib/Qt/lib/libQt6Core.so.6)

/opt/Qt/Tools/QtCreator/bin/qtcreator: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by /opt/Qt/Tools/QtCreator/bin/../lib/Qt/lib/libQt6Core.so.6)

1.2.2 安装QtCreator

下载

从官网下载 qt-opensource-linux-x64-5.14.2.run

安装

1 修改权限 2 运行安装(或点击安装),一路next

记住安装目录

运行

运行安装目录下的bin/qtcreator

Locked

将其lock到侧边栏,方便打开

1.3 Qt5.15配置

GCC配置

打开Tools–>Options–>Kits–>Compilers,默认应该有GCC,如果没有,则说明系统没有安装gcc,手动安装后,通过Add–>GCC–>C,选择gcc目录添加(一般位于/usr/bin/gcc),并修改名字

G++配置

打开Tools–>Options–>Kits–>Compilers,默认应该有C++,如果没有,则说明系统没有安装g++,手动安装后,通过Add–>GCC–>C++,选择g++目录添加(一般位于/usr/bin/g++),并修改名字

qmake配置

打开Tools–>Options–>Kits–>Qt Versions,默认应该有qmake,如果没有,则说明系统没有检测到,则手动添加,通过Add,在弹出的对话框中,选择Qt5.15目录中的qmake,并修改名字

Kits配置

打开Tools–>Options–>Kits–>Kits–>Manual–>Add,在弹出的对话框中,依次修改Name(名称)、Compiler(C和C++)、Qt Version

2 arm QtCreator配置

2.1 交叉编译器和Qt库

arm平台与X86平台略有不同,arm平台的编译器中已经包含了Qt库,一般由芯片厂商或第三方(如类似飞凌、米尔等)提供,如在NXP平台上,飞凌提供的 命令行运行安装,默认安装在/opt目录下(也可以选择其他路径),安装后,如下所示

sysroots下会有2个目录,aarch64-poky-linux是用在arm平台上的,x86_64-pokysdk-linux是用在x86平台进行交叉编译的

2.2 Qt5.15配置

GCC配置

打开Tools–>Options–>Kits–>Compilers–>Add–>GCC–>C,重新命名,并指定目录2.1中gcc的安装目录(如/opt/fsl-imx-xwayland/4.14-sumo/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gcc)

G++配置

打开Tools–>Options–>Kits–>Compilers–>Add–>GCC–>C++,重新命名,并指定目录2.1中g++的安装目录(如/opt/fsl-imx-xwayland/4.14-sumo/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-g++)

qmake配置

打开Tools–>Options–>Kits–>Qt Versions–>Manual–>Add,在弹出的对话框中,选择目录2.1中安装的qmake(如/opt/fsl-imx-xwayland/4.14-sumo/sysroots/x86_64-pokysdk-linux/usr/bin/qt5/qmake),并修改名字

Kits配置

打开Tools–>Options–>Kits–>Kits–>Manual–>Add在弹出的对话框中,依次修改Name(名称)、Compiler(C和C++)、Qt Version。 这里与X86不同的是,需要设置一下Sysroot,将其指定的交叉编译器(/opt/fsl-imx-xwayland/4.14-sumo/sysroots/aarch64-poky-linux)

3 示例demo

3.1 创建项目

新建demo,通过File菜单,不过在最后一步,会有一个选择kits的选项,列出了当前设置的所有kits,在此选择默认 项目创建后,我们点击左边的Projects,在Build &Run下会有kits,此时点击绿色的小加号,也可以增加kits

3.2 代码实现

编写代码,实现功能,在此我们什么也不做,保持默认

3.3 编译&运行

选择kits,在此我们先选择x86-qt15 编译运行,点击绿色3角箭头或ctrl+R,会弹出一个MainWindow对话框

X86与ARM镜像

如上所示,我们选择x86 kits时,点击运行,可以弹出对话框,而点击arm kits时,是不会弹出对话框的,也就是不会运行的,只在将其放到arm平台上才能运行

qt@xboard:~/qt$ file build-untitled-adv_nxp_yocto2_5-Debug/untitled

build-untitled-adv_nxp_yocto2_5-Debug/untitled: ELF 64-bit LSB executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.14.0, BuildID[sha1]=118fcafbb11877a4ec43693ec2682a725ca05888, not stripped

qt@xboard:~/qt$ file build-untitled-x86_qt15-Debug/untitled

build-untitled-x86_qt15-Debug/untitled: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=6271f576ccf62099b86b7ab9bc26c85c70d834d0, not stripped

参考

【1】https://blog.csdn.net/ACE_YOUNG/article/details/131196528 【2】https://download.qt.io/archive/qt/5.14/5.14.2/ 【3】https://download.qt.io/archive/online_installers/ 【4】https://download.qt.io/archive/qtcreator/

好文链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。