Dan*_*son 5 c++ visual-studio-code
我正在使用 Visual Studio Code 开发 C++ 项目,并且已将 OpenCV 安装在自定义位置。但是,当我尝试包含 OpenCV 中的头文件时,它会抱怨以下错误:
#include 检测到错误。考虑更新您的compile_commands.json或includePath。此翻译单元 (/home/.../dev/communication-module/modules/.../.../src/....cpp) 的波浪线被禁用。C/C++(1696)
无法打开源文件“opencv2/core/mat.hpp” C/C++(1696)
这是相同错误的屏幕截图:
我的.vscode/c_cpp_properties.json文件如下所示:
{
"configurations": [
{
"name": "Linux",
"includePath": [
"/opt/sdk/sysroots/corei7-64-poky-linux/usr/include/opencv2",
"/opt/sdk/sysroots/corei7-64-poky-linux/usr/include/opencv2/core",
"${workspaceFolder}/**"
],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "clang-x64",
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
"browse": {
"path": [
"/opt/sdk/sysroots/corei7-64-poky-linux/usr/include/opencv2",
"/opt/sdk/sysroots/corei7-64-poky-linux/usr/include/opencv2/core",
"${workspaceFolder}"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
}
}
],
"version": 4
}
Run Code Online (Sandbox Code Playgroud)
该mat.hpp文件显然在那里:
$ ls /opt/sdk/sysroots/corei7-64-poky-linux/usr/include/opencv2/core | grep mat.hpp
mat.hpp
Run Code Online (Sandbox Code Playgroud)
尽管如此,Visual Studio Code 并没有接受它。这是为什么?我还应该对 Visual Studio Code 进行哪些更改才能找到我的 OpenCV 头文件?
违规行显然是:
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
Run Code Online (Sandbox Code Playgroud)
删除后,它现在可以工作了。我的c_cpp_properties.json配置现在如下所示:
{
"configurations": [
{
"name": "Linux",
"includePath": [
"/opt/sdk/sysroots/corei7-64-poky-linux/usr/include",
"${workspaceFolder}/**"
],
"defines": [],
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14684 次 |
| 最近记录: |