软件开发中,当一个项目比较大时,项目中的源码文件会急剧膨胀,如果将这些文件都放在项目的根目录中,势必会在工作中造成一些不便。
一般的办法是将文件分门别类放在不同的子目录中,然后在文件有包含(include)关系时,使用相对路径来指定对相关文件的包含。此种办法的缺点是当项目发生大的变更,分类关系改变时,需要同时修改源代码中的包含关系及分类的子目录名。
其实VC6的开发环境中已经有了这类问题的解决办法,就是设置“预处理(Preprocessor)”目录,使编译程序在查找项目文件时,不仅仅在项目的根目录中查找,还到预先设置的“预处理”目录中查找,这样当分类变更时,只需要在“预处理”中进行一次设置,即可解决编译时无法找到源文件的问题。
例子:
一个项目,项目根目录为:ProductAnimation
下面按分类创建三个子目录:Char、AniObjBase、AniObj
子目录中的文件与根目录中文件,一个子目录中的文件与另一个子目录中的文件,根目录中文件与子目录中文件都有包含关系
为了编译时能正确找到相应包含文件,进行如下设置:
Project->Settings->C/C++选项卡->Category下拉框选择“Preprocessor”->Additional include directories中添加如下内容:
“../ProductAnimation,AniObj,AniObjBase,Char”
这样就完成了设置。