【发布时间】:2017-12-09 07:45:38
【问题描述】:
当我编辑 CMakeLists.txt 文件时,第一次它工作并使用缓存,但第二次我总是得到
1> 现有缓存包含对不存在的 MSVC 编译器的引用。 删除缓存并重新生成。
只有在我使用 clang 编译器时才会发生这种情况。如果我使用默认的 msvc 编译器,则始终使用缓存
// main.cpp
int main()
{
return 0;
}
#CMakeLists.txt
cmake_minimum_required(VERSION 3.0)
add_executable(app main.cpp)
//CMakeSettings.json
{
// See https://go.microsoft.com//fwlink//?linkid=834763 for more information about this file.
"configurations": [
{
"name": "x86-Debug",
"generator": "Ninja",
"configurationType": "Debug",
"inheritEnvironments": [ "msvc_x86" ],
"buildRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\build\\${name}",
"installRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\install\\${name}",
"cmakeCommandArgs": "",
"buildCommandArgs": "-v",
"ctestCommandArgs": "",
"variables": [
{
"name": "CMAKE_CXX_COMPILER",
"value": "clang-cl"
},
{
"name": "CMAKE_C_COMPILER",
"value": "clang-cl"
},
{
"name": "CMAKE_SYSTEM_NAME",
"value": "Windows"
}
]
}
]
}
【问题讨论】:
-
你安装了哪些版本的CLang?属于 Visual Studio 2017 的包?
clang --version输出什么? -
@Florian clang version 5.0.0 (tags/RELEASE_500/final) 目标:x86_64-pc-windows-msvc
标签: c++ visual-c++ cmake