2011-12-15 152 views
0

我已经取代我的默认GCC与gcc45:cmake的错误

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文件,以找到不承担达尔文环境的选项,但我没有找到任何东西。

回答

1

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

0

强制系统名称作为任何东西,但达尔文解决了这一问题:

cmake -DCMAKE_SYSTEM_NAME="Linux" .. 

CMake Cross Compiling