即使我更新了我的工具包,Creator仍然使用旧的编译器

时间:2014-08-08 16:27:37

标签: qt gcc qt-creator qmake

我在Qt Creator 3.0.1中设置了一个工具包,指向我的交叉工具链。这一直有效,直到我遇到bug in the compiler,现在必须升级到更新的版本。

我获得了一个更新的工具链。我进入了Creator,编辑了我的工具包,并更新了编译器和gdb二进制文件的路径以指向新的工具链。

然而,当我构建我的项目时,它仍然在调用旧的工具链的编译器。

我甚至完全删除了我的工具包,编译器和调试器,并重新创建了他们的配置,但没有任何乐趣。

我仔细检查了正在使用的mkspec,并且没有任何内容存在编译器的硬编码路径,只有像QMAKE_CXX = $${CROSS_COMPILE}g++这样的东西。我没有设置CROSS_COMPILE变量。我确实尝试过设置它(在Creator的构建环境编辑器中),但也没有任何欢乐。

如何让Creator使用我的新工具链?

编辑 - 新信息

我尝试运行创建者在构建时执行的相同qmake命令行(根据其构建输出)。首先,我正在调用的qmake是在不创建makefile的情况下返回命令行。这是我正在运行的命令:

/qt5/bin/qmake /s/src/tfs/porject_dirs/Myproject.pro -r -spec devices/linux-am335x-g++ CONFIG+=declarative_debug CONFIG+=qml_debug 

所以,我添加了一个-d来获得一些qmake调试输出。我找到了一些可疑的行,指向我的mkspecs目录中的一些文件。

构建Qt时安装的这些文件是什么?

qconfig.pri
qdevice.pri
qfeatures.pri
qmodules.pri

四个中的三个(不是qfeatures.pri)在其中包含了用于构建Qt的编译器的硬编码路径。我怀疑这些是我的问题。

为什么Qt Creator允许指定编译器,如果这些文件可能覆盖它?编辑这些文件是否安全?我是否必须重建Qt只是为了更改用于构建我的应用程序的编译器?

1 个答案:

答案 0 :(得分:0)

Qt中有一个open bug,在我的问题中提到的.pri文件中留下了硬编码路径。


<强>更新
bug已解决。