"Eigen/Dense: No such file or directory" 在 Visual Studio 代码中
"Eigen/Dense: No such file or directory" in 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 目录。
包含 Dense
文件和其他文件的 Eigen
文件夹列在我的资源管理器边栏中,在我要使用它的项目下。
这是我的 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
}
编译命令中似乎没有使用Eigen include。那正确吗?如果是这样,我是通过“编译器参数”或“编译命令”设置手动包含它还是做其他事情?
根据@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"
}
我试图在我的 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 目录。
包含 Dense
文件和其他文件的 Eigen
文件夹列在我的资源管理器边栏中,在我要使用它的项目下。
这是我的 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
}
编译命令中似乎没有使用Eigen include。那正确吗?如果是这样,我是通过“编译器参数”或“编译命令”设置手动包含它还是做其他事情?
根据@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"
}