Linux Qt交叉编译详细参数指南:部署与配置详解
在Linux环境下进行Qt应用程序的交叉编译时,理解并正确设置编译参数至关重要。Qt交叉编译是指在一台机器上为其他架构(如ARM)编译Qt库和应用程序,以便在目标设备上运行。以下是关于配置Qt交叉编译环境时常用的一些关键参数的详细解析: 1. `prefix` (前缀): `-prefix <dir>` 定义了Qt安装的主目录,比如 `/usr/local/Trolltech/QtEmbedded-4.X.X`。这个选项指定Qt库和应用程序将被安装的位置,后续的安装路径会基于这个前缀。 2. `hostprefix` (主机前缀): `-hostprefix <dir>` 指定Qt开发工具链(编译器、链接器等)所在的目录,通常是你本地系统的安装位置,例如 `..` 表示当前目录的父级,即不改变默认的系统安装位置。 3. `-install` 或 `-prefix-install`: 这些选项用来设置实际的安装位置,一般与`prefix`参数配合使用,用于将编译后的Qt库和应用程序安装到指定的目录。 4. `bindir`, `libdir`, `docdir`, `headerdir`, `plugindir`, `datadir`, `translationdir`, 和 `sysconfdir`: 这些是Qt库和应用程序的子目录,分别对应可执行文件、库文件、文档、头文件、插件、数据文件、翻译文件和系统配置文件的存放位置。它们的值会根据`prefix`设置来计算。 5. `examplesdir` 和 `demosdir`: 分别表示例子代码和演示程序的目录,同样会根据`prefix`自动创建。 6. `-buildkey <key>`: 这个选项用于指定构建密钥,用于生成特定版本的Qt库,这对于确保代码兼容性和避免混淆至关重要。 在设置这些参数时,需要注意以下几点: - `-depths16,24,32-little-endian`: 可能表示编译的目标平台的字节序(小端或大端),以及支持的位宽。这里列举的是16位、24位和32位。 - `-no-<feature>`: 如果不希望包含某个特性(如mmx、3dnow、sse、glib等),可以添加相应的否定前缀,这有助于优化目标平台的性能和依赖性。 交叉编译Qt时,你需要精确地选择和设置这些参数,以确保编译过程顺利,生成的库和应用能够在目标Linux系统和嵌入式设备上正确运行。务必确保与目标硬件和操作系统兼容,同时考虑性能优化和资源限制。
./configure -prefix /opt/Qt-4.8.6 -embedded arm -xplatform linux-arm-gnueabihf-g++ -depths 16,24,32 -little-endian -no-mmx -no-3dnow -no-sse -no-sse2 -no-glib -no-cups -no-largefile -no-accessibility -no-openssl -no-gtkstyle -qt-freetype -qt-mouse-pc -qt-mouse-linuxtp -qt-mouse-linuxinput -plugin-mouse-pc -fast -qt-gfx-transformed -opensource -confirm-license
以下选项都是可选,通过他们指定安装目录,不指定则用默认目录。选项前标记*的则为系统默认,+则为添加才有效那种
-prefix <dir> ......... 指定安装目录默认在 /usr/local/Trolltech/QtEmbedded-4.X.X
-hostprefix [dir] ..... 指定可扩展的工具库安装路径,默认当前目录
* -prefix-install ........ 指定QT的本地安装. 至
/usr/local/Trolltech/QtEmbedded-4.X.X, 此选项优先于-PREFIX.
以下选项用来指定分开安装不同部分,比如希望将可执行的放在/usr/bin 将库文件放在/lib下等等:
-bindir <dir> ......... 指定可执行文件路径 <dir>(默认 PREFIX/bin下)
-libdir <dir> .......... 指定库文件路径 <dir>(默认 PREFIX/lib)
-docdir <dir> ........ 指定文档路径 <dir>(默认 PREFIX/doc)
-headerdir <dir> .... 指定头文件路径 <dir>(默认 PREFIX/include)
-plugindir <dir> ...... 指定插件路径 <dir> (默认 PREFIX/plugins)
-datadir <dir> ........ 指定QT要使用到的一些数据文件所在路径 <dir> (默认 PREFIX)
-translationdir <dir> . 指定QT程序的翻译文件路径 <dir>(默认 PREFIX/translations)
-sysconfdir <dir> ..... 指定QT的设置文件路径 <dir>(默认 PREFIX/etc/settings)
-examplesdir <dir> .... 指定实例文件, <dir>(默认 PREFIX/examples)
-demosdir <dir> ....... 指定demos的安装路径 <dir> (默认 PREFIX/demos)
可以用这些选项去匹配自己所想要的插件
- buildkey <key> ...... 通过指定的key生成QT库和插件。
默认的选项(*),可选添加选项(+)
* -release ........... 此选项在编译过程QT会对程序进行优化,在发布软件的时候应该用此选项,是默认选项
-debug ............. 加上此选项编译程序QT不会做出优化,往往在开发过程使用此选项
-debug-and-release . 编译两个版本
-developer-build.... 编译Qt的开发商和连接选项(包括自动测试出口的Qt)
-opensource......... 以开源版本发布程序
-commercial......... 以商业版本发布程序
* -shared ............ 创建和使用共享Qt库。
-static ............ 创建和使用静态的Qt库。
* -no-fast ........... 使用通常的Makefile来编译,是默认选项
-fast .............. 快速编译,除了封装必要的库,部分步骤省略或者用快速的方法处理
-no-largefile ...... 禁用大文件支持。
+ -largefile ......... 支持访问大于4GB的文件
* -no-exceptions ..... 禁用编译器本身对异常的处理
-exceptions ........ 启用编译器本身对异常的处理
-no-accessibility ..
* -accessibility ..... 禁用/启用无障碍支持
-no-stl ............
* -stl ............... 禁用/启用STL支持
-no-sql-<driver> ... 禁用SQL
-qt-sql-<driver> ... 根据需求启用SQL插件(默认全部关闭)
-plugin-sql-<driver> 禁用/启用/启用插件 对SQL的支持
剩余8页未读,继续阅读
- 粉丝: 8
- 资源: 6
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展