2011-12-15 64 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