.cpp文件比必须加到工程的Source Files中,否则编译link时候总是出错。而加进去就没有问题。
.h则可以不加,如果不加的话,会自动到External Dependencies中。好像所有的.h文件都不必加到Header Files文件夹下面。包括Resource.h这个头文件,不过这个头文件在编译链接的过程中也并不加到External Dependencies里面。还有就是Dlg.h(主对话框及子对话框)也同样不需要加到Head Files中。
针对Source Files里面的文件来说,.rc文件可以不用加,这样Compile,Link也没错,其他的.cpp文件必须都得加上的。
总的来说一句话:
工程中包含的头文件、库文件,若不包含在当前工程project下,就会放在external Dependencies下。
Source Files 放源文件(.c、.cpp)程序的实现代码全放在这里
Header Files 放头文件(.h)声明放在这里
Resource Files 资源文件(.rc)放图标、图片、菜单、文字之类的,主要用来做界面的东东一般都放这里
External Dependencies 除上三种以外的,程序编译时用到的文件全放这里.
将某个文件(如PROTOCOL.H)添加到它的下面:
在工程目录下再建一个目录,比如目录名为additional
Project->Setting->C/c++
选择Catalog为Preprocessor,在Additional Include Directory 里面加入刚才建的目录名
即additional就可以了,这样在该目录下的文件,然后你在工程中编译程序,改头文件就会出现在External Dependencies目录里面。
另外补充一点:
还可以讲*.lib文件放到我们自己所建立的文件夹比如additional里,然后再对工程进行设置,其步骤如下:
Project->Setting->Link-选择Category为Input,在Additional Linbrary path里填入你所建立的文件夹即additional即可,然后对程序进行编译程序即可找到我们的库文件*.lib了。
这样做的好处是可以把我们的头文件和库文件一起放在一个我们所建立的文件夹中,方便管理。而且头文件中所声明的类也不会在Workplace中的Class View中显示出来。免得显得乱七八糟的。
对于basetsd.h是VC自动生成的,指明你的程序中可能用到数据类型,External Dependencies那些是你的程序要用到的文件,可以不必理它。例如。如果你有个win.h,放在当前project文件目录里,你在程序中有#include "win.h" ,如果你没有手动把win.h加到当前的project里,那么在编译时,win.h就会出现在External Dependencies中,明白是怎么回事了吧。