vs2019製作動態鏈結庫 dll到指定目錄

2021-10-08 19:03:50 字數 1646 閱讀 1348

製作dll:

1.新建專案----動態鏈結庫(dll)

2.指定名稱和位置,建立

3.新增自己寫好的test.cpp和test.**件

4.test.cpp檔案最前面包含

#include "pch.h"
5.test.**件中宣告的函式或類前加

__declspec(dllexport)  //放在型別前後都可以
如:

class __declspec(dllexport) xtcp

;__declspec(dllexport) void func(void);

6.生成解決方案

如需要更改dll和lib輸出目錄將下面步驟放在第6步之前即可。

更改輸出目錄(到自定義目錄):

1.配置屬性----常規----輸出目錄:

..\..\..\bin
2.配置屬性----聯結器----高階----導入庫:

..\..\..\lib\$(targetname).lib
3.配置屬性----除錯----

..\..\..\bin
使用dll2.lib:

1.在同一解決方案下新增新專案

2.解決方案----屬性----啟動專案設定為新專案、專案依賴項設定為新專案依賴dll2----確定

3.新專案配置屬性----c/c+±—常規----附加包含目錄設定為dll2專案所在目錄

4.鏈結器----常規----附加庫目錄設定為lib庫的目錄

5.鏈結器----輸入----附加依賴項----新增dll2.lib;

6.新專案。cpp檔案#include包含要使用的標頭檔案

還是之前的專案

1.編寫makefile:

libsocket.so:test.cpp test.h

g++ $+ -o $@ -fpic -shared -std=c++11 #-fpic**與位置無關,-shared 製作動態庫

2.使用條件編譯處理windows和linux下不相容的**

2.執行make即可生成libsocket.so檔案

linux下使用:

1)要呼叫該庫的專案的makefile檔案:

***x:***.cpp

g++ $+ -o $@ -std=c++11 -i../dll2/dll2 -lpthread -lsocket -l../dll2/dll2 #-i指定庫的標頭檔案,-l指定庫名稱(socket),-l指定.so檔案的路徑

2)對該專案make編譯,完成後使用時還需要指定庫:

1.執行時匯出到環境變數來解決

export ld_library_path=../dll2/dll2 

./tcpserver

2.將製作的.so檔案放到系統的庫目錄,就可以直接執行了

cp *.so /usr/lib

關於vs2019設定動態鏈結庫

關於前面的怎麼建立乙個dll,請參考這篇部落格。寫的挺詳細的。我把pch.件貼在這裡,裡面做了詳細的注釋 pch.h 這是預編譯標標頭檔案。下方列出的檔案僅編譯一次,提高了將來生成的生成效能。這還將影響 intellisense 效能,包括 完成和許多 瀏覽功能。但是,如果此處列出的檔案中的任何乙個...

vs2019建立動態庫

1.記住生成的動態庫是x64還是x86,必須與使用它的平台相對應 2.extern c declspec dllexport void function 其中extern c 的作用是告訴編譯器將被它修飾的 按c語言的方式進行編譯。declspec dllexport 需要在生成動態庫的專案中使用,...

VS2008如何製作動態鏈結庫

1 選擇new project win32 console project 2 輸入你的檔案名字 按下next 選擇dll 選擇ok 3 在工程中新增乙個與工程名字同名的test.h檔案,在檔案中寫入 extern c declspec dllexport void testexam char in...