①新建專案-->win32-->win32專案-->輸入專案名為dlltest-->選擇dll-->選擇空專案-->完成
②新增標頭檔案和原始檔並命名為dlltest.h和dlltest.cpp(方法:分別在標頭檔案和原始檔 :右鍵---新增---新建項)
③標頭檔案和原始檔的定義(這裡我們只實現加法運算)
// dlltest.h
[cpp]view plain
copy
#ifdef dll_api
#else
#define dll_api __declspec(dllexport)
#endif
// 宣告要匯出的函式
dll_api int
add(
inta,
intb);
// dlltest.vpp
[cpp]view plain
copy
#define dll_api __declspec(dllexport)
#include "dlltest.h"
intadd(
inta,
intb)
④我們編譯執行一下,因為不是完整的檔案,這裡會報錯,不過沒關係,這是我們找到檔案存放的位置,會發現debug檔案中會包含
這些生成的檔案,這裡我們只關心.dll和.lib檔案。在debug同級目錄下,在dlltest檔案中,會找到dlltest.h檔案
.dll檔案即使動態鏈結庫,.lib檔案是程式開發用的導入庫,.h檔案包含匯出函式的宣告
⑤我們再新建乙個專案,命名為testfordll,選擇win32 控制台應用程式
⑥將我們④中的三個檔案存放到testfordll目錄下的testfordll檔案中
如果我們直接存放在testfordll檔案中會出現 error c1083: 無法開啟包括檔案: 「dlltest.h」
如果我們這時只把dlltest.h放進去的話會出現錯誤:error lnk1104: 無法開啟檔案「dlltest.lib」
這時再把.lib檔案放入testfordll目錄下的testfordll檔案中,就可以正常的編譯執行
使用#pragma comment(lib,"dlltest")命令鏈結到dlltest.lib庫。當然我們也可以使用專案---屬性---配置屬性----鏈結器---輸入-----附加依賴項中新增dlltest.lib
這裡給出main函式的實現
[cpp]view plain
copy
#include
#include "dlltest.h"
#pragma comment(lib,"dlltest.lib")
intmain()
備註:如果我們把沒把.dll檔案放在debug目錄下,當關閉程式,重新啟動的時候,會出現找不到.dll檔案的錯誤
因此我們最好要把.dll檔案放在debug目錄下
VS2013建立dll動態鏈結庫檔案心得
關於建立動態鏈結庫檔案,並在程式執行過程中連線呼叫,我是這麼理解的 這篇文章基本是屬於入門文件。首先要生成乙個dll檔案和lib檔案,才能夠供給其他程式動態呼叫或者靜態呼叫。這篇日誌是關於動態呼叫的 接下來是總結的一些具體步驟 1.新建專案,win32,win32專案,輸入專案名稱,例如 maked...
vs2013建立動態鏈結庫
最近開發乙個小專案,需要建立和使用動態鏈結庫,參照網上的方法,自己實踐了一下。主要參考這篇文章 建立dll檔案 1.新建專案,win32,win32專案,輸入專案名稱,例如 makedll。2.確定,下一步 3.選單欄選擇專案 新增新項,來建立標頭檔案makedll.h。在makedll.h中輸入以...
mongo c driver使用VS2013編譯
git clonegit clone mongo c driver win64 bin.7z 這裡先需要使用cmake工具來生成vs2013的專案檔案。如果沒有安裝cmake,請先安裝。進入mongo c driver src libbson目錄,開啟命令列視窗,執行以下命令 mkdir msvc1...