1

完全には理解できない理由により、Cmake awlays はソフトウェアのコンパイル時に GNU コンパイラ ツールセットを選択します。

私の環境は次のようになります。

which cc
/opt/cray/xt-asyncpe/4.9/bin/cc
which CC
/opt/cray/xt-asyncpe/4.9/bin/CC
echo $CC
/opt/cray/xt-asyncpe/4.9/bin/cc
echo $CXX
/opt/cray/xt-asyncpe/4.9/bin/CC

しかし、cmakeを使用すると、これが得られます

Using existing /opt/cmake/2.8.4/bin/cmake
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info

そして、すべてのソフトウェアを g++ コマンドでビルドします。なぜこれが起こっているのですか?コンパイラをどのように設定しますか?

4

2 に答える 2

5

autotoolsのようにenvvarsCCとCXXを設定することもできます。

CC = cc CXX = CCcmake..。

空のビルドツリーから始めるようにしてください。

于 2012-06-02T18:42:24.067 に答える
2

CMake が GCC を支持する理由がわかりません。

ただし、コンパイラを設定するには、次を使用します。

cmake <path to CMakeLists.txt> -DCMAKE_C_COMPILER=/opt/cray/xt-asyncpe/4.9/bin/cc -DCMAKE_CXX_COMPILER=/opt/cray/xt-asyncpe/4.9/bin/CC

これらの値はキャッシュされるため、CMake の後続の実行 (必要な場合) は、次の方法で簡単に呼び出すことができます。

cmake .
于 2012-06-01T22:08:18.683 に答える