提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 1、安装qt5到ubuntu虚拟机
- 2、安装交叉工具链
- 3、为开发arm应用程序配置QT-IDE
- 3.1 QT源码下载、编译、安装
- 3.2 配置 Qt Creator
- 4 测试编译环境
前言
本文讲述了在虚拟机中安装 Qt 交叉开发环境详细过程。以便在虚拟机中进行 Qt 应用程序的开发,处理触摸屏的部分会在下一篇文章中叙述。
1、安装qt5到ubuntu虚拟机
我们的虚拟机为ubuntu18.04。
sudo apt-get update
sudo apt-get install qt5-default
sudo apt-get install qt5-default 指令会安装Qt5的默认版本,包括Qt编译所需的基本开发库和工具。这些文件将被安装在标准的系统路径下,例如:
库文件将被安装在 /usr/lib/x86_64-linux-gnu/qt5 (64位系统)或 /usr/lib/i386-linux-gnu/qt5 (32位系统)。
头文件将被安装在 /usr/include/x86_64-linux-gnu/qt5 或 /usr/include/i386-linux-gnu/qt5。
其他开发文件将被安装在 /usr/share/qt5。
安装路径可能因Linux发行版而有所不同。
sudo apt-get install qtcreator
sudo apt-get install qtcreator 安装的是Qt Creator集成开发环境(IDE),安装程序的文件会分别安装到不同的目录中:
可执行文件会被安装到 /usr/bin 目录下,其中包括 qtcreator 和 qtcreator.sh。
库文件会被安装到 /usr/lib/x86_64-linux-gnu/qtcreator 目录下(64位系统),其中包括 Qt Creator插件等。
头文件和其他开发文件会被安装到 /usr/share/qtcreator 目录下。
需要注意的是,以上路径可能因Linux发行版而有所不同。
2、安装交叉工具链
sudo apt-get update
sudo apt-get install gcc-arm-linux-gnueabi g++-arm-linux-gnueabi
使用sudo apt-get install gcc-arm-linux-gnueabi g+±arm-linux-gnueabi指令安装的交叉工具链在Ubuntu中的默认安装目录为/usr/bin
和/usr/arm-linux-gnueabi
目录。具体而言,gcc-arm-linux-gnueabi
和g++-arm-linux-gnueabi
二进制文件位于/usr/bin
目录下,而交叉编译器的库文件和头文件位于/usr/arm-linux-gnueabi
目录下。您可以在这些目录中找到各种工具链组件,例如编译器、链接器、调试器和其他工具。
arm-linux-gnueabi-g++ 和 arm-linux-gnueabi-g+±7 都是用于编译 ARM 架构上运行的程序的 GNU C++ 编译器。它们的区别在于版本号。
arm-linux-gnueabi-g++ 是一个默认安装在系统中的编译器,它的版本可能比较旧,具体版本取决于你所使用的操作系统和软件包版本。而 arm-linux-gnueabi-g+±7 则是指定版本的编译器,版本号为 7,可能包含了一些新的特性和改进,可以更好地支持一些新的 C++ 标准和语言特性。
因此,如果你需要使用某些较新的 C++ 特性,那么你可能需要使用 arm-linux-gnueabi-g+±7 编译器来编译你的程序。否则,如果你的代码不需要使用新的 C++ 特性,那么 arm-linux-gnueabi-g++ 编译器可能就已经足够了。
测试:
arm-linux-gnueabi-g++ -v
3、为开发arm应用程序配置QT-IDE
要开发ARM应用程序,可以使用两种方法配置Qt IDE:
- 使用Qt for Device Creation工具包:Qt for Device Creation工具包已经预编译了针对不同的嵌入式设备架构的Qt库和Qt Creator。它为用户提供了一个完整的嵌入式开发解决方案,包括操作系统、开发环境、控件库等。使用这种方法可以快速配置Qt IDE,快速开发和部署ARM应用程序。
- 下载Qt源码编译:这种方法需要先从Qt官网下载源代码,然后进行编译。编译时需要注意选择编译针对ARM架构的Qt库。使用这种方法需要一定的编译技能,但是可以灵活地进行定制和调整,以满足特定的嵌入式设备需求。
需要注意的是,这两种方法并不是互相排斥的,它们可以互相结合,根据具体的应用场景选择不同的方式。例如,如果你使用Qt for Device Creation工具包进行开发,但需要在特定场景下进行一些高级定制,那么你可以使用Qt源码编译的方式来完成这些工作。
我们这里使用Qt源码编译的方式进行QT-IDE配置。
3.1 QT源码下载、编译、安装
- 下载 Qt 源代码:
https://download.qt.io/archive/qt/5.15/5.15.9/single/
- 解压源代码:
tar -xvf qt-everywhere-opensource-src-5.15.9.tar.xz
- 必要依赖库安装:
sudo apt-get install build-essential libfontconfig1 mesa-common-dev libglu1-mesa-dev libpulse-dev libicu-dev libsqlite3-dev libssl-dev libxcb-xinerama0-dev libxkbcommon-dev libxkbcommon-x11-dev libasound2-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
- 配置编译参数:
在解压源代码后,需要对编译参数进行配置,并指定目标平台、交叉编译器、库文件等信息。具体的编译参数可以参考 Qt 官方文档或手册,或通过 ./configure -h 命令进行查看。
./configure -prefix /home/linux/arm-qt -opensource -confirm-license -release -linuxfb -qt-zlib -no-gif -qt-libpng -qt-libjpeg -qt-freetype -no-rpath -no-pch -no-avx -no-openssl -no-cups -no-dbus -no-eglfs -no-pkg-config -no-glib -no-iconv -no-opengl -xplatform linux-arm-gnueabi-g++ -make libs -nomake tools -qt-sqlite -nomake tests -v -skip qtgamepad -skip qtandroidextras -skip qtmacextras -skip qtx11extras -skip qtsensors -skip qtserialbus -skip qtwebchannel -skip qtwebsockets -skip qtlocation -skip qtquickcontrols -skip qtpurchasing -skip qtconnectivity -skip qtscxml -skip qtxmlpatterns -skip qtnetworkauth -skip qtspeech -skip qtscript -skip qtremoteobjects -skip qtcharts -skip qtdatavis3d -skip qtwebview -skip QtWebEngine
如果在执行过程中出现了某些问题,解决以后需要删除config.cache 文件,然后重新执行 configure 脚本。
rm config.cache
此外,诸如:-skip qtmacextras
,使用Qt 编译选项-skip
,跳过编译 qtmacextras 模块。该选项通常用于排除某些不需要或不可用的模块。
需要注意的是,如果将来又有需要使用 qtmacextras 模块,则需要重新编译 Qt 并取消使用 -skip qtmacextras 选项。同时,在使用其它 Qt 模块时,如果这些模块依赖 qtmacextras 模块,也需要取消使用 -skip qtmacextras 选项。
- 开始编译:
在完成参数配置后,使用 make 命令进行编译。编译时间会根据参数设置和机器配置而有所不同,可能需要半个小时或更长时间。
make
- 安装工具包:
在编译完成后,使用 make install 命令将编译好的工具包安装到指定目录中。这个目录我们在前面的配置参数用-prefix 进行了指定,-prefix /home/linux/arm-qt
,在安装前请确认这个安装目录已经存在。
make install
3.2 配置 Qt Creator
在安装完成后,需要在 Qt Creator 中配置编译器、库文件和工具包等信息,以便能够正确地编译和调试 Qt 应用程序。
- 打开 Qt Creator,选择「工具」-「选项」-「构建和运行」,界面如图:
- 选择「Qt 版本」栏,点击添加,选择刚刚安装的适用于 ARM 架构的 Qt 安装目录,点击「应用」和「确定」按钮完成配置.
- 切换到「构建套件」标签页(Kits)。在「构建套件」下,可以对已经存在构建套件进行修改,也可以点击「添加」,增加一个新的构建套件。在设置界面上,选择适用于 ARM 开发板的交叉编译工具链,为构建套件输入适当的名称,例如「ARMv7 Toolchain」,点击「应用」和「确定」按钮完成配置。
4 测试编译环境
用一个简单的hello程序,测试我们的编译环境。