3

我在 /opt 文件夹中安装了 gcc 4.8.0。我输入了我的 PATH,所以当我执行 gcc/g++ -v 时,它会返回给我 4.8.0 版本。但是当我去 QT Creator 并使用 c++11 代码(在 4.3 > 中实现)编译我的程序时,它不会编译。所以我在 QMAKE_CXXFLAGS 标志中放了一个 -v 选项。所以我得到:

Using built-in specs.
Target: i686-apple-darwin11
Configured with: /private/var/tmp/llvmgcc42/llvmgcc42-2335.15~25/src/configure --disable-checking --enable-werror --prefix=/Developer/usr/llvm-gcc-4.2 --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-prefix=llvm- --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin11 --enable-llvm=/private/var/tmp/llvmgcc42/llvmgcc42-2335.15~25/dst-llvmCore/Developer/usr/local --program-prefix=i686-apple-darwin11- --host=x86_64-apple-darwin11 --target=i686-apple-darwin11 --with-gxx-include-dir=/usr/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)

然后我尝试创建另一个指向新路径的工具链,它在自定义中,但我不能使用它。我如何强制 QT Creator 使用另一个编译器(在我的情况下是 GCC,但在另一个 PATH 中)我想强制这样 XCODE 也不需要更改编译器。有没有办法做到这一点?

4

2 回答 2

4

在 Qt Creator 中进入

Tools -> Options -> Build&Run -> Compilers

然后添加一个新的 gcc 编译器。

然后进入

Tools -> Options -> Build&Run -> Kits

并更改当前套件(通常称为“桌面”)中的编译器。

您可能需要带有“工具包”的最新版本的 Qt Creator(可从 Qt Creator 2.6 获得)。

于 2013-05-22T15:09:46.833 回答
0

最近我也遇到了这个问题。我的树莓派默认 gcc 版本是8.3.0,不支持 c++ 的include<execution>。我下载了另一个版本的 gcc,它是gcc-9.1.0,它的位置是\opt\gcc-9.1.0. 我已经厌倦了添加这个新编译器Tools-> Options -> Build&Run -> Compilers并更改kits. 当我使用 qmake 首次生成 makefile 时,我注意到它的cxx标志仍在gccmake 文件中。当我构建项目时,编译器输出以g++ -o ....not开头g++-9.1 -o ....

我用以下方法修复了它:

添加QMAKE_CXX = g++-9.1 -std=c++2a到您的xxx.pro文件中。在此之后,当您再次生成 makefile 时,您可以看到CXX在 makefile 中设置为g++-9.1 -std=c++2a. 它将g++-9.1在您构建项目时使用。

于 2022-01-11T06:46:23.987 回答