QT编译./configure参数的详细解释

本文深入解析了QT编译参数、安装选项、配置选项、第三方库选项及其他选项的使用,旨在帮助开发者高效配置QT环境并解决问题。
部署运行你感兴趣的模型镜像

   终于翻译完了,我承认翻译的很差,甚至很多都有误解,但是没办法我只是新手+对QT的兴趣,有错一定要指出来,我马上编辑下,目的只有一个,方便后来的学习者,我的目标是将QT发扬光大。很喜欢QT!在此感谢老大[url=space.php?uid=3]shiroki[/url]和群里的热心人帮助,我才能解决各种缤纷多彩的编译错误


可以随便的转载,只要按照规矩走带上咱论坛的链接就好。

==================================
====全文是按照./configure -help来翻译的========
==================================
Usage:  configure [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir <dir>]
[-docdir <dir>] [-headerdir <dir>] [-plugindir <dir> ] [-datadir <dir>]
[-translationdir <dir>] [-sysconfdir <dir>] [-examplesdir <dir>]
[-demosdir <dir>] [-buildkey <key>]
这些是基本参数
[-release] [-debug][-debug-and-release] [-developer-build]
[-shared] [-static] [-no-fast] [-fast] [-no-largefile]
[-largefile] [-no-exceptions] [-exceptions] [-no-accessibility]
[-accessibility] [-no-stl] [-stl] [-no-sql-<driver>] [-sql-<driver>]
[-plugin-sql-<driver>] [-system-sqlite] [-no-qt3support] [-qt3support]
[-platform] [-D <string>] [-I <string>] [-L <string>] [-help]
这些是对QT所支持模块等设置的参数
[-qt-zlib] [-system-zlib] [-no-gif] [-qt-gif] [-no-libtiff] [-qt-libtiff] [-system-libtiff]
[-no-libpng] [-qt-libpng] [-system-libpng] [-no-libmng] [-qt-libmng]
[-system-libmng] [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make <part>]
[-no-make <part>] [-R <string>]  [-l <string>] [-no-rpath]  [-rpath] [-continue]
[-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv]
[-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked]
[-no-separate-debug-info]
这些是第三方库的支持参数
[-no-mmx] [-no-3dnow] [-no-sse] [-no-sse2]
[-qtnamespace <namespace>] [-qtlibinfix <infix>] [-separate-debug-info]
[-armfpa][-no-optimized-qmake] [-optimized-qmake] [-no-xmlpatterns]
[-xmlpatterns][-no-phonon] [-phonon] [-no-phonon-backend]
[-phonon-backend][-no-openssl] [-openssl] [-openssl-linked]
[-no-gtkstyle] [-gtkstyle] [-no-svg] [-svg] [-no-webkit] [-webkit]
[-no-scripttools] [-scripttools]

专属嵌入式QTE编译的模块选择参数

 

安装选项:

以下选项都是可选,通过他们指定安装目录,不指定则用默认目录。选项前标记*的则为系统默认,+则为添加才有效那种
-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的支持

-system-sqlite ..... 启用支持sqlite也可用-qt-sqlite

-no-qt3support .....
*  -qt3support ........ 禁用/启用qt3支持模块

-no-xmlpatterns ....
+  -xmlpatterns ....... 禁用/启用xmlpatterns模块

-no-phonon .........
+  -phonon ............ 禁用/启用Phonon模块(可以理解为声音控制模块)


-no-phonon-backend..
+  -phonon-backend..... 禁用/启用phonon-backend模块
-no-svg ............
+  -svg ............... 禁用/启用svg模块

-no-webkit .........
+  -webkit ............ 禁用/启用webkit模块(访问网络模块)
-no-scripttools ....
+  -scripttools ....... 禁用/启用scripttools模块

-platform target ... x86平台指定模块 (qws/linux-x86-g++).


-no-mmx ............ 我不知道这四个是什么,貌似是几个指令系统?
-no-3dnow ..........
-no-sse ............
-no-sse2 ...........

-qtnamespace <name>  指定所有库代码路径.
-qtlibinfix <infix>  重命名所有.so库文件到指定路径

-D <string> ........ 添加一个预处理器
-I <string> ........ 添加一个明确的头文件路径
-L <string> ........ 添加一个明确的库文件路径

-help, -h .......... 显示帮助信息
少说废话,多做实事~

第三方库选项:
(以下是第三方库,往往编译过程中需要依赖的都要加上,也没什么好说的,缺什么就加什么)

-qt-zlib ...........
+  -system-zlib .......      zlib依赖包 详询 http://www.gzip.org/zlib

-no-gif ............
*  -qt-gif ............         gif图片支持包
See also src/plugins/imageformats/gif/qgifhandler.h

-no-libtiff ........
-qt-libtiff ........         tiff支持插件
+  -system-libtiff ....     默认是-system调用系统的,出错的话可以尝试用-qt,qt的在编译过程不容易出错
详询 http://www.libtiff.org

-no-libpng .........
-qt-libpng .........        png图片支持插件
+  -system-libpng .....
详询 http://www.libpng.org/pub/png

-no-libmng .........
-qt-libmng .........       mng支持插件
+  -system-libmng .....
详询 http://www.libmng.com

-no-libjpeg ........
-qt-libjpeg ........         jpeg图片支持插件
+  -system-libjpeg ....
详询 http://www.ijg.org

-no-openssl ........
+  -openssl ...........        openssl支持插件
-openssl-linked ....

-ptmalloc ..........        系统内存分配器
少说废话,多做实事~


其他选项:
(扩展选项,模块的选择等,使编译更加人性化)
-make <part> .......    选择是否编译某些无关紧要的子模块
-nomake <part> ..... (例如不想编译系统自导的demos则可使用-nomake demos)
-R <string> ........      添加一个动态库
-l <string> ........       添加一个静态库
-no-rpath ..........
+  -rpath .............        是否将生成的库安装在软件的安装目录,默认是在安装目录,否则自己指定路径

-continue ..........        忽略错误一路前奔的编译,因为一般情况是按照模块逐个编译的,
碰到错误就停止。加上此参数是全部编译最后处理
-verbose, -v .......      显示每个步骤的详细信息
-silent ............        安静的编译省略信息回显

*  -no-optimized-qmake ...
-optimized-qmake ......  禁用/开启qmake的优化作用

-no-nis ............
*  -nis ...............         禁用/开启NIS的支持

-no-cups ...........
*  -cups ..............       禁用/开启对CUPS的支持
需要 cups/cups.h and libcups.so.2.

-no-iconv ..........
*  -iconv .............      禁用/开启对iconv的支持.

-no-pch ............
*  -pch ...............      禁用/开启是否使用预处理器头文件

-no-dbus ...........
+  -dbus ..............     禁用/开启对QTdbus模块的编译
-dbus-linked .......

-reduce-relocations ..... 减少因为链接优化而导致的而外的库文件重置

-no-separate-debug-info . 不将调试信息放在一个文件内
*  -separate-debug-info .... 将调试信息放在一个文件内

少说废话,多做实事~

以下参数仅限于嵌入式 QTE编译使用:

-xplatform target ...      交叉编译过程指定目标平台
-no-feature-<feature>   不编译<feature>.
-feature-<feature> ..    编译<feature>. 可选feature在src/corelib/global/qfeatures.txt文件内可查寻

-embedded <arch> ....   指定嵌入式平台的类型例如:arm mips x86 generic

-armfpa .............
-no-armfpa ..........       禁用/启用armfpa浮点格式支持

-little-endian ......         指定字节顺序为小字节序、低字节序
-big-endian .........        指定字节顺序为大字节序、高字节序

-host-little-endian .       指定主机平台字节顺序为小字节序、低字节序
-host-big-endian ....     指定主机平台字节顺序为大字节序、高字节序
注:只需指定目标平台的字节顺序,否则将会选用主机的字节顺序
arm的编译过程这项得加


-no-freetype ........
-qt-freetype ........      禁用/启用对freetype 模块的支持
*  -system-freetype ....
详询 http://www.freetype.org/

-qconfig local ......      在不指定此配置的情况下系统使用
src/corelib/global/qconfig-local.h

-depths <list> ......     支持显示设备的位深度。有1, 4, 8, 12, 15, 16, 18, 24, 32 and 'all'.

-qt-decoration-<style> ....指定编译后的界面风格默认是windows


-plugin-decoration-<style> 指定插件风格默认windows
-no-decoration-<style> ....不知定风格采用默认选项

-no-opengl ..........
-opengl <api> .......      禁用/开启对opengl的支持
不指定型号则系统会自动检测
注意:使用此选项的前提条件是硬件支持且可以驱动

-qt-gfx-<driver> ...      指定显示设备驱动库
参考选项为:[ linuxfb transformed qvfb vnc multiscreen ]
-plugin-gfx-<driver> 指定显示插件驱动库
参考选项为:[  ahi directfb hybrid linuxfb powervr qvfb transformed vnc ]
-no-gfx-<driver> ... 不加载显示设备
参考选项为: [ linuxfb transformed qvfb vnc multiscreen ]

-qt-kbd-<driver> ... 指定图形界面下的键盘驱动库
参考选项为: [ tty usb sl5000 yopy vr41xx qvfb ]

-plugin-kbd-<driver> E指定图形界面下键盘插件驱动库
参考选项为: [  linuxis sl5000 usb vr41xx yopy ]

-no-kbd-<driver> ... 不加载指定驱动
参考选项为: [ tty usb sl5000 yopy vr41xx qvfb ]

-qt-mouse-<driver> ... 指定图形界面下鼠标驱动库
参考选项为: [ pc bus linuxtp yopy vr41xx tslib(触摸屏选这个) qvfb ]
-plugin-mouse-<driver> 鼠标插件驱动库
参考选项为: [  bus linuxis linuxtp pc tslib vr41xx yopy ]
-no-mouse-<driver> ... 指定不加载的鼠标驱动库模块
参考选项为: [ pc bus linuxtp yopy vr41xx tslib qvfb ]

-iwmmxt ............ 编译使用iwmmxt指令集,方便对某些XScale CPUs的支持

-no-glib ...........
+  -glib .............. 禁用/启用对glib的支持

为了您的安全,请只打开来源可靠的网址
打开网站    取消

来自: http://hi.baidu.com/396954504/blog/item/cb08bb380c92052f97ddd8be.html

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

<think> 嗯,用户的问题是关于确认编译配置是"./config"而不是"./Configure"。首先,我需要仔细分析用户提供的引用内容,看看有没有相关的信息。 在引用[1][2][3]中都提到了"./configure",这是一个常见的配置脚本。特别是引用[3]详细说明了"./configure"的作用和用法,比如生成Makefile、使用--prefix选项等。用户提到的"./config"和"./Configure"可能和某些特定软件相关,但通用的步骤通常是"./configure"。 用户引用[4]中的例子使用的是"./configure"命令,虽然出现了错误,但配置命令本身是"./configure"。引用[5]中提到执行"./configure"时出现文件不存在的错误,说明在编译nginx时预期使用的是"./configure"脚本。 不过,用户特别指出某些软件可能使用"./config"或"./Configure"。例如,OpenSSL项目通常使用"./config"或"./Configure"作为配置脚本。引用中没有直接提到这些变体,但根据常识,不同项目的配置脚本名称可能不同。用户可能遇到了某个特定项目,比如OpenSSL,其配置脚本名称确实有区别。 需要确认用户所指的具体软件。如果用户是在编译OpenSSL,那么"./config"和"./Configure"都是存在的,但功能不同:"./config"是自动检测系统的简化脚本,而"./Configure"需要手动指定参数。其他项目可能有不同的命名习惯,比如某些用"./autogen.sh"或"cmake"。 用户的问题提到"确认编译配置是./config而不是./Configure",说明用户可能遇到了混淆,或者之前使用了错误的命令导致问题。需要强调检查软件文档的重要性,因为不同项目的配置步骤可能有差异。例如,引用[3]中建议查看源码目录下的帮助文档(./configure --help),这同样适用于其他配置脚本,用户应查找对应项目的官方文档或README文件。 另外,用户引用[5]中的错误"./configure: No such file or directory"可能是因为目录错误或文件未生成,这也提醒用户需要确保在正确的目录下执行命令,并确认配置脚本是否存在。对于使用"./config"的项目,同样需要确认文件的存在性。 总结:用户需要根据具体软件来确定正确的配置命令。通用情况下是"./configure",但如OpenSSL等项目则使用"./config"或"./Configure"。建议用户查阅项目文档,确认正确的脚本名称,并检查当前目录下是否存在该文件。 </think>关于编译配置命令的确认,需根据具体软件项目的构建系统而定: ### 核心结论 1. **标准 GNU 项目** 绝大多数 Linux 开源项目(如 Nginx、Python 等)使用 `./configure` 作为配置命令,这是 **Autotools 构建系统**的标准入口[^1][^2][^3]。 2. **特殊项目例外** 部分项目使用其他配置命令: - **OpenSSL**:同时提供 `./config` 和 `./Configure` ```bash # OpenSSL 的两种配置方式 ./config # 自动检测系统环境 ./Configure LIST # 查看支持的平台列表 ``` - **Perl**:使用 `./Configure`(首字母大写) - **Qt**:使用 `./configure`(小写)但参数格式不同 3. **验证方法** 在源码目录执行以下命令确认: ```bash ls -l configure # 检查标准配置文件是否存在 ls -l config # 检查是否提供config脚本 cat README INSTALL # 查阅项目文档 ``` ### 关键区别说明 | 命令 | 典型项目 | 系统要求 | 参数示例 | |---------------|--------------|----------------|------------------------------| | `./configure` | Nginx, Python| Autotools 环境 | `--prefix=/opt --with-openssl` | | `./config` | OpenSSL | Perl环境 | `--prefix=/opt shared` | | `./Configure` | OpenSSL/Perl | 需手动指定平台 | `linux-x86_64` | ### 操作建议 1. **优先检查文档** 查阅源码中的 `INSTALL` 或 `README.md` 文件(如引用[3]强调的[^3]) 2. **文件存在性验证** ```bash # 在解压后的源码目录执行 [ -f configure ] && echo "使用 ./configure" [ -f config ] && echo "使用 ./config" [ -f Configure ] && echo "使用 ./Configure" ``` 3. **OpenSSL 的特例说明** 若您正在编译 OpenSSL: - `./config` 是自动检测系统的简化脚本 - `./Configure` 需显式指定平台(如 `./Configure linux-x86_64`) - 两者最终都会生成 `Makefile` > 示例:OpenSSL 配置流程 > ```bash > ./config --prefix=/opt/openssl --openssldir=/etc/ssl > # 或 > ./Configure linux-x86_64 --prefix=/opt/openssl > ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值