14

デフォルトでは代わりにclangを使用するため、cmakeにg++でcppコードをビルドさせようとしています。だから私は使用します:その後、 cmakecmake -D CMAKE_CXX_COMPILER=g++ ../src/CMakeLists.txtはgccとg ++をチェックします(成功しました)が、それでもmake VERBOSE=1

/usr/bin/c++     -o CMakeFiles/trial_cpp.dir/trial.cpp.o -c "/Users/Kuba/Code/Sketchpad/Trial     project/src/trial.cpp"
Linking CXX executable trial_cpp
/opt/etlocal/bin/cmake -E cmake_link_script CMakeFiles/trial_cpp.dir/link.txt --verbose=1
/usr/bin/c++    -Wl,-search_paths_first -Wl,-headerpad_max_install_names   CMakeFiles/trial_cpp.dir/trial.cpp.o  -o trial_cpp 

/ usr / bin /g++ではなく/usr/ bin / c ++を呼び出すので、私は同意しますが、それでもclangを使用します。何が問題なのか分かりますか?私はg++を持っていて、それが/ usr /bin/にあることを知っています。Mac OSX10.8.2を実行しています

4

2 に答える 2

15

CMAKE_CXX_COMPILERは、特定のビルドディレクトリでcmakeが初めて実行されるときにのみ設定できます。以降の実行では無視されます。CMAKE_CXX_COMPILERを変更するには、最初にビルドディレクトリの内容を削除してから、そのオプションを使用してcmakeを再度実行する必要があります。

ソース:http ://www.cmake.org/Wiki/CMake_Useful_Variables

最初の実行でその変数のみを使用する理由は、後で変更すると、構成チェックを含むすでに構築されているすべてが無効になる可能性があるため、とにかくcmakeを最初から開始する必要があるためです。

于 2012-12-13T13:00:02.853 に答える
2

私は代わりにこのようにします:

CXX=/usr/bin/g++ cmake ../src/CMakeLists.txt
于 2012-12-13T02:42:18.893 に答える