5

我正在使用带有旧 GCC 的 QT Creator,现在我更新到 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,并且我更改了套件上的编译器。

问候

4

3 回答 3

3

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

看到这个帖子

在我的情况下,这个 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的链接帖子。这篇文章也提到了这个文件。

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

于 2013-06-11T11:49:51.023 回答
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

它解决了我的问题

于 2013-05-22T21:45:01.560 回答
0

我在使用通过 MacPorts 安装的 GCC 时遇到了同样的问题(测试了几个版本,直到 gcc5)。我的解决方案是使用g++XCode 命令行工具提供的。我卸载了所有 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
于 2015-10-30T13:34:00.293 回答