新建了一個MFC工程後,需要調用一個外設,外設自帶了上位機軟件,但是封裝成了lib和dll(dll是一個動態鏈接庫,裏面封裝着一些保密的源代碼,lib是編譯的時候告知編譯器dll文件中的函數位置與入口——指動態鏈接)網上的教程一般都是從工程建立開始的,對於已經存在的項目將會很麻煩,本文將講述如何在已經生成的工程中添加dll和lib。
對於VS2015,我們通過修改項目屬性的方式告知工程dll和lib以及頭文件所在的文件夾,然後在自己的工程裏面就可以調用了;
1 打開屬性菜單
選中本工程屬性即可:
2 添加頭文件所在目錄
lib提供了dll中的函數的入口和位置,.h提供了動態庫中函數的聲明,在常規選項中添加附加包含目錄的地址:
2.1 ..\Include
..\Include;的意思就是exe所在的位置向上兩層的位置,..\就是兩層,.\就是一層:
可見exe位於debug文件夾,debug文件夾位於Hello_Lite文件夾,所以恰好是兩層,如果存儲層數對應不上,就會找不到lib文件:
1>LINK : fatal error LNK1104: 無法打開文件“IQmeasure.lib”
2.2 %(AdditionalIncludeDirectories)
這個是一個宏定義,是VS自動生成的,目的是“查缺補漏”防止錯過某一個位置,具體值獲取的方法參照:
https://blog.csdn.net/Mr_liu_666/article/details/106555828
3 添加lib和dll問價所在文件夾
添加了.h問價之後需要添加dll和lib文件位置,以便編譯器找到調用的動態庫函數位置,在鏈接器-常規中添加附加庫目錄地址:
3.1 ..\Bin;..\Lib;
情況和上文相同,也是向上兩層目錄。
3.2 %(AdditionalLibraryDirectories)
參照https://blog.csdn.net/Mr_liu_666/article/details/106555828
4 添加附加依賴項
將需要包含到工程的lib問價地址添加進工程,這一步真正添加了lib,而lib的位置來自上一節的目錄位置,鏈接器-輸入-附加依賴項即可添加:
4.1 IQmeasure.lib;
需要添加進來的lib文件名。
4.2%(AdditionalDependencies)
一個宏定義,參照上文。
5 調用動態庫中的函數,開始調試
至此dll和lib已經添加進工程,可以調用相應函數開始調試了。
編譯通過,調試開始。