注册 登录
编程论坛 C++教室

included的一个问题

尝鲜 发布于 2010-10-24 07:41, 650 次点击
假设建一个工程MyPro 位置 d:\MYPROG
主文件main.cpp      位置 d:\MYPROG\MyPro
一个类头文件 cxx.h  位置 d:\MYPROG\MyPro\Header
他的实现文件 cxx.cpp位置 d:\MYPROG\MyPro\Source
IDE:VS6,codeblocks 10.05
Debug的版本:
main.cpp中用#include "Header\cxx.h" :在cxx.cpp#include "Header\cxx.h"
这样的编译的结果会显示没有 Header\cxx.h这个头文件 为什么呢?
如果改成:
main.cpp中用#include "Header\cxx.h" :在cxx.cpp #include "..\Header\cxx.h" 这样能够编译成功
Header和Source目录不是在同一个文件夹下吗。。为什么在cxx.cpp中会是 #include "..\Header\cxx.h" 而不是 #include "Header\cxx.h"
。。。帮忙解释一下啊。。。
8 回复
#2
尝鲜2010-10-25 13:02
。。。人呢。。帮忙分析下啊。。
#3
yzlovme2010-10-26 17:56
主文件main.cpp      位置 d:\MYPROG\MyPro
一个类头文件 cxx.h  位置 d:\MYPROG\MyPro\Header
他的实现文件 cxx.cpp位置 d:\MYPROG\MyPro\Source

Header与mian.cpp在同一文件夹下所以用#include "Header\cxx.h",而cxx.cpp在d:\MYPROG\MyPro\Source目录中,必须退到上一级目录才是Header,所以是#include "..\Header\cxx.h"
../表示上一级目录



#4
2010-10-27 14:05
楼上正解

以为用..表示  当前位置的上一级目录     你写include ""   这里的双引号   是从文件工程目录开始搜索   
#5
pangding2010-10-27 18:41
同一文件夹下,直接写 xx.h 就行了。
#6
尝鲜2010-10-27 22:12
引用3楼Header与mian.cpp在同一文件夹下所以用#include "Header\cxx.h",而cxx.cpp在d:\MYPROG\MyPro\Source目录中,必须退到上一级目录才是Header,所以是#include "..\Header\cxx.h"
如果cxx.cpp在d:\
那又怎么用include 表示呢
#7
bujanbusan2010-10-28 12:40
直接表示  不行吗
#8
pangding2010-10-29 22:21
一般不用绝对路径。同一个项目的文件应该都放在一个文件夹下,用的时候用相对路径就可以了。如果项目不是很大的话,子文件夹也不需要。
#9
weiqiang2010-11-02 12:56
学习的
1