c文件和头文件不在同一目录,且所有的头文件(自编的头文件)均集中放在Include文件夹下,在include“头文件”时,相对路径是指相对谁的路径,比如是相对工程文件的路径,还是相对与其对应的C文件的路径,又或者是根据所建立的工程添加的文件目录树确定,又或者相对IDE工作路径,IDE的工作路径又是指什么?解惑啊,拜托各位了,我只有70积分,把我教明白了,当即双手送上。
vc中使用#include命令包含头文件所搜寻的路径,vc中的三种路径:
1、系统路径
系统路径在vc中是"Tools->Options->Directories"中"Include files"指定的路径。
打开此对话框会发现默认有这几条路径:
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
2、当前路径
当前路径是指vc工程中工程文件所在的路径,即.dsw文件所在路径。
3、 附加路径
附加路径是指在"Project->Settings->C/C++->Preprocessor->Additional include directories "中指定的路径。
此路径默认为空,我们可以在此处填写需要路径,比如:在此处填入"C:\123\",(不要引号),那么附加路径就会变成"C:\123\" 。
上面的1,3路径,我们均可以自己编辑。在编辑过程中,可以使用绝对路径,也可以使用相对路径。
比如,在添加系统路径时,可以这样填写:
.\SRC\ 这样写表示,当前目录中的SRC文件夹;
..\SRC\ 这样写表示,当前目录的上一层目录中SRC文件夹;
...\SRC\ 这样写表示,当前目录下 ..\SRC\\ 路径,当然这种写法已经和第一种重叠了。
这种相对路径的写法,vc会自动帮我们转化为绝对路径。
在添加附加路径时,其相对路径的写法和系统路径是一致的。
在vc中使用#include 命令,有三种形式:
1 #include <file.h>
vc执行这条指令时,它会在系统目录中去查找 file.h 文件。
在此条码命令中,vc不会去当前路径和附加路径中查找文件。
2 #include "file.h"
vc执行这条指令时,它首先会搜索附加路径,如果没有则会搜索系统路径,如果还没有则会去搜索当前路径。
3、#include "directory\file.h"
vc执行这条指令时,它会去指定的路径去查找文件,如果没找到,它不会继续查找。
#include”xxx.h”
把include文件夹(里面是某个库的头文件)拷到自己的项目中,添加头文件时需要使用#include”include\xxx.h”方式,如果打算使用#include”xxx.h”方式。
解决方法:
项目属性->C++>常规->附加包含目录:$(ProjectDir)\include
添加类库,在项目属性->链接器>常规->附加库目录:$(ProjectDir)\lib
其中:\$(ProjectDir)代表你的项目所在目录:x:\…\projectname
所有宏定义可以在“附加包含目录”或者“附加库目录”编辑界面,点击宏“(M)>>”查看
include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:
1、#include<文件名>;
2、#include"文件名"
如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。如下例所示:
#include<math.h>//一些数学函数的原型,以及相关的类型和宏
如果需要包含针对程序所开发的源文件,则应该使用第二种格式。
采用#include命令所插入的文件,通常文件扩展名是.h,文件包括函数原型、宏定义和类型定义。只要使用#include命令,这些定义就可被任何源文件使用。
1、用KDevelop打开工程。选择一个文件夹可以按照工程打开。如果之前打开过,也可以直接选择特定(比如kdev4)后缀的文件打开一个工程。
2、打开工程后,把鼠标放在代码上,能够显示出有关信息,定义位置等。如果不行则需要寻找未读取的#include并添加新的路径。
3、把鼠标放在预处理失败的#include上,可以查看当前已有的include路径。若要添加,点击解决。
4、在弹出的设置自定义包含路径中,选择存储目录,然后在下面自定义包含路径中,每行一个。点击OK。
5、自定义路径保存的文件默认被筛选隐藏。若要查看,可以点击工程->打开配置->Project Filter,添加新的包含或者排除。
6、然后找到路径下的.kdv_include_paths文本文件,可以查看已添加路径。