Qt Creator编译器

Qt是很强的跨平台软件,各种32-bit和64-bit的平台都支持Qt,并且通常可以在每个平台上可以使用GCC进行构建,也可以使用供应商提供的编译器,还可以使用第三方编译器。在Qt Creator中,工具包指定编译器和在特定平台上构建或运行应用程序的必要工具。

Qt Creator会自动检测由系统或者安装程序注册的编译器。你可以添加其他编译器或使用自动检测到的编译器的其他版本来构建应用程序,以下是几个常见的编译器:

(1)GCC(GNU Compiler Collection) 是一个针对于Linux和OS X的编译器。

(2)MinGW(Minimalist GNU for Windows)是一个GCC和GNU Binutils的原生软件端口,用于在Windows上开发原生的Microsoft Windows应用程序。MinGW和Qt Creator以及Qt installers for Windows一起发布。

(3)Linux ICC (Intel C++ Compiler)是针对于Linux的C和C ++编译器。

(4)Clang是一个针对于Windows、Linux和OS X的C、C++、Objective C轻量级编译器。

(5)QCC是编译QNX的C++应用程序的接口。

(6)Custom自定义编译器,需手动添加编译器路径。

想要使用GCC、MinGW、Clang或QCC构建一个应用程序,首先指定路径到编译器所在的目录中,然后从可用版本的列表中选择应用程序二进制接口(ABI)的版本。你还可以创建一个自定义的ABI定义。对于QCC来说,还需指定路径到QNX Software Development Platform (SDP)中。

【问题】 使用编译器类型为GCC进行添加编译器,路径改了,还是报错下图如图


编译报错:


【分析原因】

makefile是由qmake产生的,当qtcreator选定了qmake后,编译用的cc编译器是由qmake决定的。qtcreator里更改compilers只能影响build environment里的PATH路径,无法影响qmake在生成makefile时赋值给CC等,所以给上图的GCC的路径改了无效。
接着找到原因 qmake.conf 影响了qmake生成makefile。

在 Qt/5.4/gcc_64/mkspecs 或者 qt/mkspecs中的每一个目录里面,都有一个包含平台和编译器特定信息的qmake.conf文件。这些设置适用于你要使用qmake的任何项目,请不要修改它,一般来说不要去修改。

假如你所有的应用程序都必须和一个特定的库连接,你可以把这个信息添加到相应的qmake.conf 文件中

【解决办法】

(1)如果你的编译器选择的Type是GCC,就会默认跑GCC的qmake.conf,不会使用配置路径的编译工具,则要修改GCC编译器对应的qmake.conf文件

QMAKE_CC       = gcc   (交叉编译工具的GCC)

QMAKE_CXX    = g++   (交叉编译工具的G++)



(2)选择编译器的Type是Custom,配置交叉编译工具的路径,Coustom对应的qmake.conf会使用配置路径的GCC、G++


发布了69 篇原创文章 · 获赞 37 · 访问量 18万+

猜你喜欢

转载自blog.csdn.net/xi_gua_gua/article/details/56999099