1
私が使用するコンパイラのバージョンをロックしようとしています。これを行うには、CMAKE_CXX_COMPILER_VERSION
とCMAKE_CXX_COMPILER_VERSION
を使用してビルドしたコンパイラのバージョンを確認したいと思います。 OSX CMakeのオンClangバージョンの混乱(OSXとCmake)
レポート:
CMAKE_CXX_COMPILER_VERSION 7.0.2.7000181
CMAKE_CXX_COMPILER_ID Clang
CMAKE_CXX_COMPILER /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
しかし、端子を介して報告されたバージョンは次のとおりです。
Apple LLVM version 7.3.0 (clang-703.0.31)
Target: x86_64-apple-darwin15.5.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
これが真のである:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ --version
clang --version
gcc --version
g++ --version
なぜバージョン番号の不一致CMakeとコマンドライン(同じ実行可能ファイル)によって報告されていますか? 特定のコンパイラバージョンに制限する目的で、CMAKE_CXX_COMPILER_VERSION
は信頼できますか?
CMakeは 'CMAKE_CXX_COMPILER_VERSION'を報告していますか? –
私はこれをCMakeLists.txtファイルでこれに強制しています: MESSAGE(コンパイラは$ {CMAKE_CXX_COMPILER_ID}バージョン$ {CMAKE_CXX_COMPILER_VERSION}です。$ {CMAKE_CXX_COMPILER})) – KevinD
これは非常に奇妙です。バージョン7.3.0.7030031'で文字列を使用しています。おそらくCMakeのキャッシュを削除したいかもしれません... –