gpt4 book ai didi

c++ - Clang 版本混淆(OSX 和 Cmake)

转载 作者:行者123 更新时间:2023-11-30 05:27:21 25 4
gpt4 key购买 nike

我正在尝试锁定我使用的编译器版本(出于多种原因我不会深入探讨)。为此,我想使用 CMAKE_CXX_COMPILER_VERSIONCMAKE_CXX_COMPILER_VERSION 检查编译器的版本。

在 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 在 CMakeFiles/3.5.0/CmakeCXXCompiler.cmake 中设置了编译器版本(对于版本 3.5.0)。只有删除此文件并重新构建才能报告正确的编译器版本(假设您在某个时候安装了不同的版本)。

关于c++ - Clang 版本混淆(OSX 和 Cmake),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37436287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com