提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
本文讲述了在虚拟机中安装 Qt 交叉开发环境详细过程。以便在虚拟机中进行 Qt 应用程序的开发,处理触摸屏的部分会在下一篇文章中叙述。
我们的虚拟机为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发行版而有所不同。
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
要开发ARM应用程序,可以使用两种方法配置Qt IDE:
需要注意的是,这两种方法并不是互相排斥的,它们可以互相结合,根据具体的应用场景选择不同的方式。例如,如果你使用Qt for Device Creation工具包进行开发,但需要在特定场景下进行一些高级定制,那么你可以使用Qt源码编译的方式来完成这些工作。
我们这里使用Qt源码编译的方式进行QT-IDE配置。
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
./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 install 命令将编译好的工具包安装到指定目录中。这个目录我们在前面的配置参数用-prefix 进行了指定,-prefix /home/linux/arm-qt
,在安装前请确认这个安装目录已经存在。
make install
在安装完成后,需要在 Qt Creator 中配置编译器、库文件和工具包等信息,以便能够正确地编译和调试 Qt 应用程序。