微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Visual Studio Code 中的“特征/密集:没有这样的文件或目录”

如何解决Visual Studio Code 中的“特征/密集:没有这样的文件或目录”

我正在尝试在我的 C++ 程序中使用 Eigen,但出现此错误(路径已简化)。

Starting build...
"C:\Program Files\(...)\g++.exe" -g D:\(...)\main.cpp -o D:\(...)\main.exe
D:\(...)\main.cpp:2:10: Fatal error: Eigen/Dense: No such file or directory
 #include <Eigen/Dense>
      ^~~~~~~~~~~~~

我在 .vscode/c_cpp_properties.json 中包含了 Eigen 目录。

包含 Eigen 文件和其他文件Dense 文件夹列在我的资源管理器侧栏中,在我想在其中使用它的项目下。

这是我的c_cpp_properties.json

{
"configurations": [
    {
        "name": "Win32","includePath": [
            "${default}","D:\\programming\\_lib\\cpp\\eigen-3.3.9\\"
        ],"defines": [
            "_DEBUG","UNICODE","_UNICODE"
        ],"windowsSdkVersion": "10.0.18362.0","compilerPath": "C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/bin/g++.exe","cStandard": "c17","cppStandard": "c++17","intelliSenseMode": "linux-gcc-x64"
    }
],"version": 4
}

似乎在编译器命令中没有使用特征包含。是对的吗?如果是这样,我是通过“编译器参数”或“编译命令”设置手动包含它还是执行其他操作?

解决方法

按照@ThomasSablik 的建议,我使用 -I 参数在我的项目文件夹内的 .vscode/tasks.json 文件中添加特征路径。有效。文件内容:

{
"tasks": [
    {
        "type": "cppbuild","label": "C/C++: g++.exe build active file","command": "C:\\Program Files\\mingw-w64\\x86_64-8.1.0-posix-seh-rt_v6-rev0\\mingw64\\bin\\g++.exe","args": [
            "-g","${file}","-o","${fileDirname}\\${fileBasenameNoExtension}.exe","-I","D:\\programming\\_lib\\cpp\\eigen-3.3.9\\",],"options": {
            "cwd": "${workspaceFolder}"
        },"problemMatcher": [
            "$gcc"
        ],"group": {
            "kind": "build","isDefault": true
        },"detail": "Task generated by Debugger."
    }
],"version": "2.0.0"
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。