在Mac OS X上更改gcc后出现cmake错误

时间:2011-12-15 17:16:55

标签: macos gcc cmake

我已使用gcc45替换了我的默认gcc:

sudo port install gcc45
sudo port select --set gcc mp-gcc45
gcc --version
gcc (GCC) 4.5.3
Copyright (C) 2010 Free Software Foundation, Inc.

但是现在如果我尝试使用cmake配置项目,我会收到错误:

-- Check for working C compiler: /opt/local/bin/gcc -- broken
CMake Error at /opt/local/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:52 (MESSAGE):
  The C compiler "/opt/local/bin/gcc" is not able to compile a simple test program.
...
/opt/local/bin/gcc -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.7.sdk -o
 CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c [...]/CMakeFiles/CMakeTmp/testCCompiler.c

cc1: error: unrecognized command line option "-arch"

我在cmake文档中搜索了一个不假设达尔文环境的选项,但我没有找到任何内容。

2 个答案:

答案 0 :(得分:1)

只有Apple提供的编译器支持--arch选项。这是Apple的修改。一般来说,使用非Apple提供的C编译器并不是一个好主意,除非你真的需要更新的东西。还有其他Apple提供的工具链修改。

答案 1 :(得分:0)

将系统名称强制为除Darwin之外的其他任何内容解决了问题:

cmake -DCMAKE_SYSTEM_NAME="Linux" ..

CMake Cross Compiling