![]() |
|
首页│注册│帮助 | |||
相关问题
| • | [求助] return 和 cout 的区别 |
| • | [求助]这个题目有问题吗 |
| • | [求助]我在做密码验证时,提示说:Microsoft OLE DB Provider for ODBC Drivers (0 |
| • | 请教C语言转.DBF为.txt问题 |
| • | 给我个项目做做 |
| • | 无法新建Adodb.conncection对象 |
| • | vc++和c++builder各有什么特点? |
| • | MDI问题 |
待解决
[讨论]程序中的目录结构和包含方法
[attach]11633[/attach]<BR><BR>就上图的目录结构,我是这样包含文件的(VC6.0):<BR>(1) 在Tools/Options/Directories中目录指到Public这一层.<BR>(2)头文件包含时,我是这样包含的:<BR><FONT color=#3809f7><STRONG>#include "../public/lib1/file.h"</STRONG></FONT><BR><BR>我这种方法的第一步感觉比较麻烦,而且指向的是绝对路径,移植性差,自己都觉得不可取。<BR>如果没有第一步,在头文件包含时又不知怎样写才好。<BR><BR>提问者:olivezhang 2006-09-13 15:50:00
答复
呵呵,没关系,非常感谢你的热情指导!现在已经理解了。谢谢![em17]
回答者:olivezhang -
2006-09-14 17:37:00
抱歉,最近比较忙,论坛上得比较少<BR>./是指向当前目录,../是指向当前目录的上一级目录<BR>直接包含在文件中当然可以,但是不推荐这么做。这样做对于大型项目头文件目录结构的组织会很不方便<BR>一般情况下项目独有的include目录都是写在setting中的,setting中的相对路径是相对工程文件*.dsp文件所在目录而定的<BR>在你举的例子中,setting中的目录应该写为../Public/lib1,这样别的文件在包含lib1下的头文件时就可以不写路径了
回答者:aogun -
2006-09-14 13:29:00
<P>经过艰难的尝试,发现这样一个规律(自以为是规律,而且编译通过):<BR>(1) 在Public目录下的的文件,如果要包含Public目录下的文件,则用这样的相对路径:<BR> #include "../lib1/file.h"<BR>(2) 在DirTest目录下的文件,如果要包含Public目录下的文件,则用这们的相对路径:<BR> #include "../Public/lib1/file.h"<BR>唉,可惜想不出理论依据<BR></P>
回答者:olivezhang -
2006-09-13 17:59:00
非常感谢aogun版主,那么可否不在setting中指定包含目录而直接在文件中包含呢?<BR>这时的相对路径该如何写呢?<BR>还想请教一下aogun版主, ./public/lib1和../public/lib1 这两种写法有什么不同?
回答者:olivezhang -
2006-09-13 17:18:00
当然,你所说的目录是你这个工程项目特有的,放到Tools/Options/Directories中是不合理的,正常的情况应该放到project->setting->c/c++->preprocess->Additional include directories中,用相对路径,如../public/lib1
回答者:aogun -
2006-09-13 17:06:00

