QT Creator 添加 -Xarch

Posted

技术标签:

【中文标题】QT Creator 添加 -Xarch【英文标题】:QT Creator adds -Xarch 【发布时间】:2013-05-22 20:50:12 【问题描述】:

我使用 QT Creator 和旧的 GCC,现在我更新到 4.8 版本。 但是 QT Creator 添加了 -Xarch_x86_64 选项,GCC 4.8 告诉我

g++: error: unrecognized command line option '-Xarch_x86_64'

有没有办法删除这个选项? 我尝试使用

CONFIG -= x86_64 ppc64 x86 ppc 64 arch_x86_64 -arch -Xarch_x86_64
QMAKE_CXXFLAGS += -std=c++11 -v
QMAKE_CXXFLAGS += -std=c++0x
QMAKE_CXXFLAGS -= x86_64 ppc64 x86 ppc 64 arch_x86_64 -arch -Xarch_x86_64
QMAKE_CXXFLAGS += -mmacosx-version-min=10.7
QMAKE_LFLAGS += -mmacosx-version-min=10.7
QMAKE_LFLAGS -= x86_64 ppc64 x86 ppc 64 arch_x86_64 -arch -Xarch_x86_64

但到目前为止什么也没发生。

注意:我使用的是最新的 QT Creator 版本,使用 Port 下载了 GCC,我更改了套件上的编译器。

问候

【问题讨论】:

【参考方案1】:

解决此问题的另一种方法是编辑特定 qt 版本和特定目标构建的编译器配置文件。

见this post。

在我的例子中,这个 conf 文件是:

/usr/local/Qt4.8/mkspecs/common/g++-macx.conf

而变化是:

QMAKE_CFLAGS_X86_64 += -Xarch_x86_64 -mmacosx-version-min=10.5
QMAKE_CFLAGS_PPC_64 += -Xarch_ppc64 -mmacosx-version-min=10.5

QMAKE_CFLAGS_X86_64 += -Xarch_x86_64 -mmacosx-version-min=10.7
QMAKE_CFLAGS_PPC_64 += -Xarch_ppc64 -mmacosx-version-min=10.7

请在 opencv 网站的问答中查看来自 natoferreira 的 linked 帖子。还有这个post 提到这个文件。

如果您知道有关此 Qt 和 GCC 配置文件的其他信息,请添加评论。

【讨论】:

【参考方案2】:

我删除了所有引用。

QMAKE_CFLAGS_PPC_64     -= -arch ppc64 -Xarch_ppc64 -mmacosx-version-min=10.5
QMAKE_OBJECTIVE_CFLAGS_PPC_64  -= -arch ppc64 -Xarch_ppc64 -mmacosx-version-min=10.5
QMAKE_CFLAGS_X86_64     -= -arch x86_64 -Xarch_x86_64 -mmacosx-version-min=10.5
QMAKE_OBJECTIVE_CFLAGS_X86_64  -= -arch x86_64 -Xarch_x86_64 -mmacosx-version-min=10.5
QMAKE_CXXFLAGS_PPC_64   -= -arch ppc64 -Xarch_ppc64 -mmacosx-version-min=10.5
QMAKE_CXXFLAGS_X86_64   -= -arch x86_64 -Xarch_x86_64 -mmacosx-version-min=10.5
QMAKE_LFLAGS_PPC_64     -= -arch ppc64 -Xarch_ppc64 -mmacosx-version-min=10.5
QMAKE_LFLAGS_X86_64     -= -arch x86_64 -Xarch_x86_64 -mmacosx-version-min=10.5

解决了我的问题

【讨论】:

为我工作!考虑接受这个答案,它可能会帮助其他人找到该帖子。 你使用的是哪个编译器? g++-mp-4.8。使用端口下载它。如果你需要编译 libstdcxx,别忘了更新你的 XCode 我已经用 brew 安装了 gcc48 但是如果我在终端打印 gccg++ 它找不到二进制文件..我必须手动建立一个软链接..但它给了我错误error trying to exec 'cc1plus': execvp: No such file or directory 您可以使用 QMAKE_CXX = /path/to/g++-mp-4.8 强制使用它【参考方案3】:

我在使用通过 MacPorts 安装的 GCC 时遇到了同样的问题(测试了直到 gcc5 的多个版本)。我的解决方案是使用 XCode 命令行工具提供的g++。我卸载了所有 MacPorts GCC 版本。下面是有效的g++ 命令的版本详细信息。

$ g++ --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.51) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin13.4.0
Thread model: posix

【讨论】:

以上是关于QT Creator 添加 -Xarch的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Qt Creator 中添加包含路径?

如何向 Qt Creator 添加新工具包

Qt Creator 添加自定义注释

QT Creator 添加 -Xarch

如何使用 Qt Creator 将 C++ 头文件添加到 Qt 项目

在 Qt Creator 中将 TagLib 库添加到 Linux Qt 项目?