下面的三種方法我都沒有試驗過,也不知道有用沒用,并且具體遇到的問題也沒,所以暫時只貼個文字。
等具體試驗成功了,我再貼上步驟圖片
1、 問題闡述
MFC編寫程序,都要用到動態鏈接庫,MFC相關的動態庫有MFCD42和MFC42等,MFC框架程序已經自動加載,那么如何引入第三方的動態鏈接庫到工程中呢?
2、 設置技巧
靜態鏈接庫是要先把程序中所需要使用的函數編譯成機器碼,保存在*.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庫中的函數了。