① vscode下运行c++找不到头文件是怎么回事
版本不同,打开同一工程时会提示找不到。
解决这个问题的方法如下:
1、打开“VS2017”,点击“项目”,打开“项目属性”。
② C++中主文件可以找到的路径,为什么头文件找不到
路径问题,因为主文件所在的当前目录里有curl和json文件夹,而头文件的当前目录里没有这2个文件夹。
解决方法是要把这2个文件夹添加到编译器包含文件路径里。
或者修改出错的位置,指向准确的路径。
③ C语言源文件编译时找不到头文件
首先看看这几个头文件是否存在?
如果存在记下存放的路径,检查头文件的配置,即查看makefile,看看头文件寻找路径是否有刚才的那个路径。
如果不存在这几个头文件的话,那就去找找这几个头文件,有可能需要安装一些库文件
④ 编译时找不到头文件有哪些可能原因
头文件有两种,一种是系统自定义的库<>,一般编译环境里会有默认配置路径
另一种是自定义的头文件"",这种可能需要在c文件的相同目录下,
不在相同目录下,就需要指定include路径。一般都是h文件放一个文件夹,增加配置include路径。
⑤ 我的Keil编译时显示找不到头文件,请问这是怎么回事
一般看是什么问题了,具体问题,具体分析,比如有的头文件里的定义,跟自己程序里的冲突。
⑥ 为啥各种系统库的头文件都找不到
头文件: 1. #include “headfile.h” 搜索顺序为: ①先搜索当前目录 ②然后搜索-I指定的目录 ③再搜索gcc的环境变量CPLUS_INCLUDE_PATH(C程序使用的是C_INCLUDE_PATH) ④最后搜索gcc的内定目录 /usr/include /usr/local/include /usr/lib/gcc/x86_64-redhat-linux/4.1.1/include 各目录存在相同文件时,先找到哪个使用哪个。 2. #include <headfile.h> ①先搜索-I指定的目录 ②然后搜索gcc的环境变量CPLUS_INCLUDE_PATH ③最后搜索gcc的内定目录 /usr/include /usr/local/include /usr/lib/gcc/x86_64-redhat-linux/4.1.1/include 与上面的相同,各目录存在相同文件时,先找到哪个使用哪个。这里要注意,#include<>方式不会搜索当前目录! 这里要说下include的内定目录,它不是由$PATH环境变量指定的,而是由g++的配置prefix指定的(知道它在安装g++时可以指定,不知安装后如何修改的,可能是修改配置文件,需要时再研究下): -bash-3.2$ g++ -v Using built-in specs. Target: x86_64-redhat-linux Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic --host=x86_64-redhat-linux Thread model: posix gcc version 4.1.2 20080704 (Red Hat 4.1.2-46) 在安装g++时,指定了prefix,那么内定搜索目录就是: Prefix/include Prefix/local/include Prefix/lib/gcc/--host/--version/include 编译时可以通过-nostdinc++选项屏蔽对内定目录搜索头文件。 库文件: 编译的时候: ①gcc会去找-L ②再找gcc的环境变量LIBRARY_PATH ③再找内定目录 /lib /usr/lib /usr/local/lib 这是当初compile gcc时写在程序内的(不可配置的?) 运行时动态库的搜索路径: 动态库的搜索路径搜索的先后顺序是: ①编译目标代码时指定的动态库搜索路径(这是通过gcc 的参数"-Wl,-rpath,"指定。当指定多个动态库搜索路径时,路径之间用冒号":"分隔) ②环境变量LD_LIBRARY_PATH指定的动态库搜索路径(当通过该环境变量指定多个动态库搜索路径时,路径之间用冒号":"分隔) ③配置文件/etc/ld.so.conf中指定的动态库搜索路径; ④默认的动态库搜索路径/lib; ⑤默认的动态库搜索路径/usr/lib。 (应注意动态库搜寻路径并不包括当前文件夹,所以当即使可执行文件和其所需的so文件在同一文件夹,也会出现找不到so的问题,类同#include <header_file>不搜索当前目录)
⑦ 有时VC编译的时候找不到头文件,但这个头文件在工程里面是有的,是怎么回事
选择
项目-设置settings-目录directory-头文件目录分支。。。
将你的头文件所在的文件夹添加到路径列表中,点击确定。
重新编译,OK!
⑧ 当前目录下明明就有头文件,为什么会提示找不到
①编译目标代码指定态库搜索路径(通gcc 参数"-Wl,-rpath,"指定指定态库搜索路径路径间用冒号":"隔)
②环境变量LD_LIBRARY_PATH指定态库搜索路径(通该环境变量指定态库搜索路径路径间用冒号":"隔)
③配置文件/etc/ld.so.conf指定态库搜索路径;
④默认态库搜索路径/lib;
⑤默认态库搜索路径/usr/lib
(应注意态库搜寻路径并包括前文件夹所即使执行文件其所需so文件同文件夹现找so问题类同#include <header_file>搜索前目录)!
⑨ #include <abc.h>为什么总是找不到头文件
#include"abc.h"//改成这个
<>是用来引用标准库文件的
""用来引用自定义头文件和标准库文件(就是自己写的文件)
最好把自定义头文件放在工程目录中,方便编译器找
⑩ 编译时找不到头文件这个问题怎么解决
你是否有试过编译一个文件时,老是因为缺掉一些头或库文件而编译不通过呢?下面给出一种方法来解决这个问题:
1.先安装apt-filesudoapt-get install apt-filesudoapt-file update
2.假如make时,出现
main.c:21:21:
error: gtk/gtk.h: No such file or directory使用:sudoapt-file searchgtk.h
运行以上命令可能返回好多包,精简一下sudoapt-file search gtk/gtk.h结果如下:
# apt-file search gtk/gtk.h
libgfcui-dev:
usr/include/gfc-2.0/gfc/gtk/gtk.hh
libgtk+2.0-directfb-dev:
usr/include/directfb/gtk-2.0/gtk/gtk.h
3.最后定位该头文件所在的位置
wyylling@ubuntu:~/Gnome$ locate gtk.h
将该/usr/include/gtk-2.0/加入头文件搜索路径中即可