macos - 在 mac os x 中使用 qtcreator 和 gnu g++4.8

标签 macos gcc qt-creator

我想使用 qt Creator 将 g++4.8 设置为 c++ 编译器。

我使用的是 OSX 10.8、QtCreator 2.8.0,并且我已通过自制程序安装了 g++4.8。

我已将 g++4.8 设置为编译器:如果我进入“项目”>“管理套件”,我会默认使用 GCC 套件,并手动插入名为 GCC 4.8 的编译器,编译器路径为 /usr/local/Cellar/gcc48/4.8.1/bin/g++-4.8

您可以在下面的屏幕截图中看到它。我在构建环境 > 路径中还有 /usr/local/Cellar/gcc48/4.8.1/bin

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

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

(这与我从 shell 启动 g++ 时收到的输出相同)而不是

g++-4.8 (GCC) 4.8.1

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

我记得我过去遇到过这个问题,我尝试将 g++4.8 硬链接(hard link)到/usr/bin/g++ 来解决它,但它没有解决(并且只是搞乱了一切)。

我能做什么?

enter image description here enter image description here enter image description here enter image description here enter image description here

最佳答案

我遇到了同样的问题并解决了你的问题......

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

我设计的解决方案如下:

解决方案

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

QMAKE_CXX = g++-4.8

例如在标题列表上方

理由:

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

优点:

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

缺点:

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

Qt 开发人员的问题:

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

关于macos - 在 mac os x 中使用 qtcreator 和 gnu g++4.8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18847536/

相关文章:

c - 如何定义编译时 -D 宏 (Apache 2.2)?

c++ - 为什么 C++ 编译器选择错误的函数(模板)

c++ - 为什么我用小写字母命名widget类后qt-creator构建失败?

qt - QML 文件的更改何时不生效?

macos - 无法取消链接套接字文件/tmp/mongodb-27017.sock errno :13 Permission denied

python - 每行 SQLite 读取时间随着总行数增加 : workaround?(Python 2.7、OSX)

macos - Swift 弱委托(delegate)运行时错误(访问错误)。漏洞?

ios - LLDB中的 `-n`选项到 `image lookup`与 `-s`选项相比如何操作?

c - 为什么代码退出 Ant 不完成

qt - Qt Creator的工程文件(.pro)中如何修改PATH变量