vs 中明明包含了头文件所在路径,但是却找不到头文件
- 首先,将要添加的压缩包解压,放在任意一个盘里,注意,我们在代码里要添加的头文件路径是
#include <tensorflow/c/c_api.h>
接下来我们要添加在VS中的所有路径都是tensorflow这个的上一级文件夹
比如D:/include
而不是D:/include/tensorflow
路径不正确,会造成头文件添加不成功 - C/C++这个插件的配置,找到包含路径,本文是
D:/include/**
,把目录复制进去。最后以**结束代表搜索其子文件夹。
这一步其实是配置c_cpp_properties.json这个文件,是配置C/C++这个插件的。这个插件的目的是高亮、语法检查和代码预览等。也就是用来方便用户查看的,并非是真正的编译器,在此的配置也是为了正确显示高亮和语法检查等。完成上述操作后,c_cpp_properties.json文件会自动更新,如下图:(实际上,也可以直接在c_cpp_properties.json文件中添加"D:/eigen3/**",效果一样)
- 然后配置编译器。
编译器用的是minGW(其实就是linux上的gcc移植到windows的版本)。
打开命令面板,选择配置默认生成任务
打开 tasks.json
需要增加以下两行
“-I”,
“D:/include”
如图
- 这里,一般就配置成功了。
如果运行后仍然提示错误:如果运行后仍然提示错误:
eigen_main.cpp:2:10: fatal error: Eigen/Dense: No such file or directory
打开Code runner
点击设置->扩展设置
点击在settings.json中编辑
添加路径-I \"D:/include\"
(注意第一个是右斜杠,然后是双引号,路径里面是左斜杠,最后是右斜杠,再接双引号。)这样就解决了。
-I参数是用来指定头文件目录,/usr/include目录一般是不用指定的,gcc知道去那里找,但是如果头文件不在/usr/include里我们就要用-I参数指定了,比如头文件放在/myinclude
目录里,那编译命令行就要加上-I/myinclude
参数了,如果不加你会得到一个"xxxx.h: No such file or directory"
的错误。-I参数可以用相对路径,比如头文件在当前目录,可以用-I.
来指定。
知乎-天阴不下雨的回答
gcc -l参数和-L参数