在Visual Studio 2019中构建C++项目时遭遇CMake错误:No CMAKE_C_COMPILER could be found
在Visual Studio 2019中构建C++项目时遭遇CMake错误:No CMAKE_C_COMPILER could be found
看起来你遇到的核心问题是CMake没法找到Visual Studio的C/C++编译器,连带导致后续MSBuild找不到项目文件。咱们一步步来解决:
首先排查Visual Studio 2019的安装组件
CMake找不到编译器最常见的原因是你没装VS的C++开发工具链。你可以这么检查:
- 打开Visual Studio Installer,找到你的VS2019实例,点击「修改」
- 确保勾选了**「使用C的桌面开发」**这个工作负载——它包含了MSVC编译器、必要的构建工具和Windows SDK,是编译C项目的基础
- 另外,确认对应你系统版本的Windows 10 SDK(比如你日志里的10.0.19044)已经被勾选安装
- 点击「修改」等待组件安装完成,之后再重试构建
用正确的命令行环境运行CMake
普通的Windows命令提示符不会自动加载VS的编译环境变量,CMake自然找不到编译器。你应该用VS自带的专用命令行:
- 打开「开始菜单」,找到Visual Studio 2019文件夹,选择**「x64 Native Tools Command Prompt for VS 2019」**(如果要编译32位程序就选x86版本)
- 在这个命令行里,再执行你原来的构建步骤:
这个命令行已经帮你配置好了所有必要的环境变量,CMake就能顺利找到编译器了mkdir build cd build cmake .. -G "Visual Studio 16 2019" cmake --build .
顺便优化下你的CMakeLists.txt(非紧急,但更规范)
虽然不是当前错误的原因,但有个小细节可以调整:add_library里不需要把.h头文件加进去,CMake会通过target_include_directories自动处理头文件路径。修改成这样更规范:
add_library(MyLibrary SHARED src/setup.cpp)
另外你遇到的MSBuild错误(找不到ALL_BUILD.vcxproj),其实是因为第一步CMake配置失败,根本没生成项目文件。解决了编译器的问题后,这个错误会自动消失。
备注:内容来源于stack exchange,提问作者El_Merendero
相关产品推荐
相关产品推荐

