1. 在 CMakeLists.txt 所在工作空间路径打开vscode,界面下方显示工具条
- 执行③⑤⑥会自动编译
① 切换cmake模式 ② 切换编译器 ③ build当前目标 ④ 切换编译目标 ⑤ debug当前目标 ⑥ 运行当前目标
2. CMakeLists.txt 设置debug模式
SET(CMAKE_BUILD_TYPE Debug)
SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb") // 可选
3. 配置 c_cpp_properties.json
即使 CMakeLists.txt中设置了正确的include路径,在终端可以成功编译和运行。
使用 vscode 进行 debug,也需要设置 .vscode 中的 c_cpp_properties.json 让 vscode 可以找到对应的文件。
- 命令行 查看 编译器gcc的include路径
gcc -v -x c -E /dev/null
将搜索出的路径,按照格式 添加到 setting.json 中
- 如果此时还有头文件显示红色波浪线,添加其所在路径
– 终端中 locate 确定头文件所在位置
– 比如<opencv2/core/core.hpp>
在/usr/local/include/opencv4/opencv2/core/core.hpp
– 添加/usr/local/include/opencv4
或"/usr/local/include/*"
到.vscode/c_cpp_properties.json
文件中,可以参考下图↓
– 结果,如果红色波浪线还在,重启 vscode - 碰到一个奇怪的问题
– 诸多头文件中,只有一个头文件对于<opencv2/core/core.hpp>的引用,始终找不到,报错
– 解决方式:把 “#include <opencv2/core/core.hpp>” 的引用位置从第一行挪到了后边,并且重启了电脑,就好了。不确定是哪一步骤起了作用。
4. 配置 launch.json
- 点击右下角的 add configuration 可以自动添加 调试器
- 可执行程序位置 要根据 CMakeLists.txt 中的设置进行修改