c++中include头文件时的参考路径

最近看到网上说include包含路径的说法比较乱,而且有一些有错误,在此纠正一下,做下记录:

       include头文件时的参考路径是     相对于本文件的路径

       即:

           1.h中#include  “2.h”时,是相对于1.h文件所在目录的路径;

           1.cpp中#include  “2.h”时,是相对于1.cpp文件所在目录的路径;

时间: 2024-07-31 02:36:42

c++中include头文件时的参考路径的相关文章

C++中的头文件和源文件

一.C++编译模式通常,在一个C++程序中,只包含两类文件--.cpp文件和.h文件.其中,.cpp文件被称作C++源文件,里面放的都是C++的源代码:而.h文件则被称作C++头文件,里面放的也是C++的源代码.C+ +语言支持"分别编译"(separate compilation).也就是说,一个程序所有的内容,可以分成不同的部分分别放在不同的.cpp文件里..cpp文件里的东西都是相对独立的,在编 译(compile)时不需要与其他文件互通,只需要在编译成目标文件后再与其他的目标文

浅析VC++中的头文件包含问题_C 语言

在一些大的工程中,可能会包含几十个基础类,免不了之间会互相引用(不满足继承关系,而是组合关系).也就是需要互相声明.好了,这时候会带来一些混乱.如果处理得不好,会搞得一团糟,根据我的经验,简单谈谈自已的处理办法: 编码时,我们一般会尽量避免include头文件,而是采用声明 class XXX.但有时候还是必须用Include头文件,那么,两者的划分在于什么呢? 应该是很明确的,但书上好像都少有提及. 首先:我们要明白为什么要用声明取代头文件包含:对了,是为了避免无必要的重编译(在头文件发生变更

visual studio-VS2013中添加头文件路径(系统环境变量)的问题

问题描述 VS2013中添加头文件路径(系统环境变量)的问题 我现在的头文件路径是D:/demo/abc/include 使用绝对路径就没问题 但是一旦使用了系统的环境变量就不行了求解~~~ 解决方案 系统环境变量,VS是不支持的,它有自定义的宏,你可以查看添加目录中,展开看看.当然你也可以在属性页中自己定义其他的宏,然后工程中引用 解决方案二: http://m.blog.csdn.net/blog/qweewqpkn/43485577 解决方案三: 对的,一般设置完环境变量,需要重新注销或者

在android程序中打开HPROF文件时出错

问题描述 在android程序中打开HPROF文件时出错 当我用Memory Analyzer打开HPROF文件时(由Debug.dumpHprofData创建),得到的是以下的异常: java.io.IOException: Unknown HPROF Version (JAVA PROFILE 1.0.3) at org.eclipse.mat.hprof.AbstractParser.readVersion(AbstractParser.java:124) at org.eclipse.m

csv-java中读取CSV文件时怎么处理数据当中的逗号?

问题描述 java中读取CSV文件时怎么处理数据当中的逗号? 现在要读取一个CSV文件,将内容读取后用excel的格式输出, 读取的时候使用StringTokenizer类,用逗号将CSV的数据用逗号一个个分割, csv的格式是这样的(值与值之间用半角逗号分隔): "aaa","bbb","ccc","ddd","eee"; 像这样的情况是没有问题的: 但是当数据中也有半角逗号时,例如: "aaa

java 解析xml文件-在JAVA中解析XML文件时遇上难题,向各位大虾求助。

问题描述 在JAVA中解析XML文件时遇上难题,向各位大虾求助. 在服务器进程中编写登录时出现以下错误提示: Exception in thread "Thread-0" java.lang.ClassCastException: com.sun.org.apache.xerces.internal.dom.DeferredDocumentImpl cannot be cast to javax.swing.text.Document at server.ServerThread.Lo

嵌入式软件-比较大的项目中,头文件中声明的变量和函数一般不太好确定前面是不是要加extern把

问题描述 比较大的项目中,头文件中声明的变量和函数一般不太好确定前面是不是要加extern把 比如这个.h文件中他用了一个ifdef,这个只是一个类似一个标志吧,任何程序里面都可以这样用吗,这是比较好的方式吗 解决方案 这是查看宏定义,判断是否define了这个宏.然后决定后面的各种定义.以endif结尾 解决方案二: ifdef你可以看做if..extern表示你函数定义在别的文件里.这里应该是为了防止冲突,通过宏值,决定是否是用本类中的该函数还是其他文件的相同命名的函数(起函数功能可能有所区

winapi-初学windows程序设计,为什么是未定义标识符啊,需要include头文件么?(vs2015)

问题描述 初学windows程序设计,为什么是未定义标识符啊,需要include头文件么?(vs2015) #include LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { static TCHAR szAppName[] = L"helloWi

在Qt Creator的项目中添加头文件和库

在Qt Creator中的工程中,工程通过.pro文件管理.   额外需要连接的连接库unix:LIBS += -L your_lib_path -lyour_libwin32:LIBS += your_lib_path/your_lib   LIBS += -L./your_lib_path -lyour_lib LIBS += ./your_lib.lib 额外需要的头文件目录INCLUDEPATH += your_include_path   另外有一些比较重要的变量:   SOURCES