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 但是如果我在终端打印gcc
或 g++
它找不到二进制文件..我必须手动建立一个软链接..但它给了我错误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的主要内容,如果未能解决你的问题,请参考以下文章