1.Configuration Properties => C/C++=> General => Additional Includedirectories:添加额外的你要搜索的包含头文件的“include”目录。
2.Configuration Properties => Linker=> General => Additional Librarydirectories:添加额外的你要搜索的包含库文件(即.lib)的目录。
3.Configuration Properties => Linker=> Input => Additionaldependencies:清楚地列出你要添加的.lib文件。
其中2与3的主要区别:其中2只告诉链接器在哪个位置搜索.lib文件,而3却说明了在2提供的目录位置下具体要搜索的库文件。当然,在Debug与Release下这些可以不同(包括目录与库文件)。对于2来说,在程序中可以用“#include"头文件的具体位置"”预编译指令实现,而对于2,3来说,在程序中可以用“#pragma comment(lib,"库文件的具体位置\libname")”预编译指令来实现。{具体的信息可以在MSDN里参考#pragmadirectives指令,结合百度百科#pragmacomment看。另一种设置的方法是像你添加.h和.cpp文件一样,把lib文件添加到工程文件列表中去.VC中,切换到"解决方案视图",--->选中要添加lib的工程-->点击右键-->"添加"-->"现有项"-->选择lib文件-->确定即可.
4.Configuration Properties => Linker=> General => OutputFile:可以指定输出的.exe名或者.dll名
5.Configuration Properties => Linker=> Advanced => ImportLibary:指定要生成的导入库,5必须配合4的使用。因为通常我们在生成.dll的时候要配合生成一个.lib文件,这个.lib文件称为导入库(详见百度百科“导入库”注意其与“静态库”的区别),将这个.lib文件通过上述讲过的三种方法添加到程序里,我们就可以引用.dll文件了,当然也可以在程序中直接使用函数HANDLEhModule=LoadLibrary("dll文件名")获得.dll文件的使用权,配合Getprocaddress函数的使用来调用.dll文件中的函数(当然你要熟悉.dll文件中的函数)以及FreeLibrary函数释放dll。
6.有些程序员反应,按照如上的设置不能生成.lib文件(即导入库),因为在程序中没有在要导出的函数前加上__declspec(dllexport)的声明,方法一:例如你要导出myFunc()这个函数,你可以这样写:__declspec(dllexport)intadd(){}。这种方法导出的函数只能被VC++用户调用。方法二:也可以在.def文件中定义.dll信息以及要导出的函数的信息,在链接器阶段可以使用“/DEF模块定义文件”链接器选项调用.def文件。而这种方法导出的函数可以被VC++、VB、Delphi等用户使用。
此文属于夏之吻的原创。。。