2

我想将 g++4.8 设置为带有 qt creator 的 c++ 编译器。

我在 OSX 10.8、QtCreator 2.8.0 中,我已经通过自制软件安装了 g++4.8。

我已将 g++4.8 设置为编译器:如果我进入 Projects > Manage Kits 我默认使用 GCC 工具包,并手动插入了一个名为 GCC 4.8 的编译器,带有 compiler path /usr/local/Cellar/gcc48/4.8.1/bin/g++-4.8

您可以在下面的屏幕截图中看到它。我也有/usr/local/Cellar/gcc48/4.8.1/bin在 Build Enviroment > PATH 中。

但是,如果我添加QMAKE_CXXFLAGS = --version(我知道它是愚蠢的,它不会编译,但它只是为了测试)我会在“编译器窗口”中收到

i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1

(如果我g++从 shell 启动,我会收到相同的输出)而不是

g++-4.8 (GCC) 4.8.1

(如果我/usr/local/Cellar/gcc48/4.8.1/bin/g++-4.8从 shell 启动,这就是我收到的)(这也是我想要的)

我记得我过去遇到过这个问题,我试图通过将 g++4.8 硬链接到 /usr/bin/g++ 来解决它,但没有解决(只是把一切都搞砸了)。

我能做些什么?

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

4

1 回答 1

2

我有同样的问题,并降落在你的问题......

您的问题是如何让 Qt Creator 使用 g++-4.8 进行编译。

我设计的解决方案如下:

解决方案

在 project.pro 文件的某处添加以下行

QMAKE_CXX = g++-4.8

例如在 HEADERS 列表上方

理由:

qmake合成的makefile使用变量CXX来确定C++编译器。您可以通过手动编辑在项目配置文件级别设置变量 CXX 的值。

优点:

它解决了您的问题,您将使用 g++-4.8 编译您的项目,而无需为您的环境的其余部分更改 g++ 编译器。

缺点:

您必须为每个项目手动设置。

Qt 开发人员的问题:

有没有更自然的方法在 Kit 级别设置 g++ 编译器?如果没有办法,那可能是一个有用的添加功能。

于 2013-09-24T17:40:40.027 回答