已有的專案檔案編譯DLL
阿新 • • 發佈:2018-11-05
編譯的時候,庫名稱一定要和cpp以及H標頭檔案名一致,方便且不容易找不到
檔案→新建→從現有程式碼,選擇c++
然後選擇程式碼的目錄
選擇dll工程
1、用def定義函式,此方法函式名稱在編譯後不會改變。
工程建立好,我們選擇使用模組定義(.def)檔案建立dll。為工程建立一個字尾名為.def的檔案,並新增進工程,編輯其內容為:
LIBRARY後為dll名稱,DESCRIPTION後為描述(非必須),EXPORTS後為函式或類的名稱
將該模組定義檔案連結到工程中,方法為工程屬性頁面
2、用__declspec(dllexport)定義函式,此方法編譯後函式名稱會改變
如上圖所示。
再生成即可生成dll。
生成dll之後一定要寫一個文件註明介面或者給標頭檔案標上註釋,將dll檔案,lib檔案,h檔案(或文件)打包發來。並告知是用的def方式還是直接__declspec(dllexport)
PS:引用了外部庫可能或者一些特殊設定導致出錯,具體情況還得具體檢視。例如陳辰使用了vc140的環境編譯了vc120的opencv。如果使用了opencv,請自己先除錯通過然後將相應版本的opencv的dll
驗證是否成功
對於vs2013突然沒有x64編譯器