c++ - 使用 WSL 和 VS2019 进行 Cmake
问题描述
我正在尝试在 Windows10/Ubuntu/VS2019 中使用 WSL 编译 C++ 程序。当我尝试构建程序时,我遇到了以下错误。
CMake 生成开始用于配置:“WSL-GCC-Debug”。
在 $HOME/.vs/cmake/bin/cmake 找到 cmake 可执行文件。
$HOME/.vs/cmake/bin/cmake -G "Ninja" -DCMAKE_BUILD_TYPE:STRING="Debug" -DCMAKE_INSTALL_PREFIX:PATH="/mnt/d/Work/j/install/" /mnt/d/Work/j /CMakeLists.txt;
[CMake] /home/s/.vs/cmake/share/cmake-3.18/Modules/CMakeDetermineSystem.cmake:185 (configure_file) 处的 CMake 错误:
[CMake] configure_file 配置文件问题
[CMake] 调用堆栈(最近的调用优先):
[CMake] CMakeLists.txt:8(项目)
[CMake] -- C 编译器标识为 GNU 9.3.0
[CMake] /home/s/.vs/cmake/share/cmake-3.18/Modules/CMakeDetermineCCompiler.cmake:222 (configure_file) 处的 CMake 错误:
[CMake] configure_file 配置文件问题
[CMake] 调用堆栈(最近的调用优先):
[CMake] CMakeLists.txt:8(项目)
[CMake] -- CXX 编译器标识为 GNU 9.3.0
[CMake] /home/s/.vs/cmake/share/cmake-3.18/Modules/CMakeDetermineCXXCompiler.cmake:220 (configure_file) 处的 CMake 错误:
[CMake] configure_file 配置文件问题
[CMake] 调用堆栈(最近的调用优先):
[CMake] CMakeLists.txt:8(项目)
[CMake] -- 检测 C 编译器 ABI 信息
[CMake] -- 检测 C 编译器 ABI 信息 - 失败
[CMake] -- 检查工作的 C 编译器:/usr/bin/cc
[CMake] -- 检查工作的 C 编译器:/usr/bin/cc - 工作
[CMake] -- 检测 C 编译特性
[CMake] -- 检测 C 编译特性 - 完成
[CMake] /home/s/.vs/cmake/share/cmake-3.18/Modules/CMakeTestCCompiler.cmake:82 (configure_file) 处的 CMake 错误:
[CMake] configure_file 配置文件问题
[CMake] 调用堆栈(最近的调用优先):
[CMake] CMakeLists.txt:8(项目)
[CMake] -- 检测 CXX 编译器 ABI 信息
[CMake] -- 检测 CXX 编译器 ABI 信息 - 失败
[CMake] -- 检查工作的 CXX 编译器:/usr/bin/c++
[CMake] -- 检查工作的 CXX 编译器:/usr/bin/c++ - 工作
[CMake] -- 检测 CXX 编译特性
[CMake] -- 检测 CXX 编译特性 - 完成
[CMake] /home/s/.vs/cmake/share/cmake-3.18/Modules/CMakeTestCXXCompiler.cmake:75 (configure_file) 处的 CMake 错误:
[CMake] configure_file 配置文件问题
[CMake] 调用堆栈(最近的调用优先):
[CMake] CMakeLists.txt:8(项目)
[CMake] -- 配置不完整,出现错误!
[CMake] 另见“/mnt/d/Work/j/build/CMakeFiles/CMakeOutput.log”。
[CMake] 另见“/mnt/d/Work/j/build/CMakeFiles/CMakeError.log”。
[制作]
cd /mnt/d/Work/j/build;$HOME/.vs/cmake/bin/cmake -G "Ninja" -DCMAKE_BUILD_TYPE:STRING="Debug" -DCMAKE_INSTALL_PREFIX:PATH="/mnt/d/Work/j /install/" /mnt/d/Work/j 2>&1; 返回退出代码:1
我正在使用以下构建配置。
{
"name": "WSL-GCC-Debug",
"generator": "Ninja",
"configurationType": "Debug",
"buildRoot": "${projectDir}\\build\\",
"installRoot": "${projectDir}\\install\\",
"cmakeExecutable": "cmake",
"cmakeCommandArgs": "",
"buildCommandArgs": "",
"ctestCommandArgs": "",
"inheritEnvironments": [ "linux_x64" ],
"wslPath": "${defaultWSLPath}",
"addressSanitizerRuntimeFlags": "detect_leaks=0",
"variables": [],
"intelliSenseMode": "linux-gcc-x64"
}
有人能帮忙吗?
解决方案
好的。我缺少 WSL 的 zip 工具。
sudo apt install g++ gdb make rsync zip
安装命令修复它
推荐阅读
- node.js - 在反应待办事项列表中删除列表项
- python - Django Formset 响应调查/问卷
- angular - Webstorm Angular 和 Jest 正确添加了自定义匹配器和类型
- javascript - 谷歌工作表单元格只写一次而不是多次
- javascript - 如何使用 Mongo DB 中的反应钩子形式将默认值更新为更新数据
- javascript - 如何部署使用 express.js 和 puppeteer 的应用程序?(有点像 REST API)
- c - 我将如何为我的语言添加定义?
- autohotkey - 避免热键的重叠修饰符
- c++ - 详情滚动区的setwidget函数显示一个工具栏
- android - 使用 MPChart 在 X 轴上显示时间的图表