MFC编写程序,都要用到动态链接库,MFC相关的动态库有MFCD42和MFC42等,MFC框架程序已经自动加载,那么如何引入第三方的动态链接库到工程中呢?
静态链接库是要先把程序中所需要使用的函数编译成机器码,保存在*.lib文件中。编译器会去*.lib中找出所需要的函数,并把这些函数的机器码复制一份,放在可执行文件中。将lib库引入工程,有下面3种方法。
第一种方法,lib文件直接加入到工程文件列表中。
在VC中打开“File View”一页,选中工程名,单击鼠标右键,然后在弹出的快捷菜单中选择【Add Files to Project】命令,在弹出的文件对话框中选中要加入dll的lib文件即可。
第二种方法,设置工程的【Project】菜单【Settings】来加载dll的lib文件
打开工程的【Project】菜单的【Settings】,选中【Link】,然后在“Object/library modules”下的文本框中输入dll的lib文件。
第三种方法,预编译指令导入
加入预编译指令#pragma comment(lib,”*.lib”),这种方法优点是可以利用条件预编译指令链接不同版本的lib文件。因为,在Debug方式下,产生的lib文件是Debug版本,如Regd.lib;在Release方式下,产生的lib文件时Release版本,如Regr.lib。当 应用程序对dll的lib文件加载后,还需要把dll对应的头文件(*.h)包含到其中,在这个头文件中给出了dll中定义的函数原型,然后根据对函数原型的声明,就可以使用dll中的函数,代码参考如下:
引入库test.lib,在程序的根目录下包含文件test.dll。
#pragma commenct(lib,”test.lib”)
#include “test.h”
按照上面的方法在工程中引入库test.lib后,就可以调用test库中的函数了