MinGW編譯dll並引用

2022-04-25 15:14:24 字數 1309 閱讀 8259

記得某位神仙曾經說過:乙個專案不使用dll簡直是一場災難。(滑稽)

這篇文章以a+b/a-b為範例,來介紹如何在mingw下編譯dll並引用。

#include using namespace std;

#define export __declspec(dllexport)

extern "c"

int a_b(int a,int b)

int a__b(int a,int b)

- 接下來建立乙個名為test.cpp的**檔案( ~~又是這種破名字~~ ),裡面寫入:

#include #include using namespace std;

#define export __declspec(dllimport)

extern "c"

int main()

現在來編譯,開啟cmd,輸入命令 `g++ dll.cpp -shared -o dll.dll -wl,--out-implib,dll.lib` 來把剛剛的 `dll.cpp` 編譯成.dll。

接著輸入 `g++ -ldll test.cpp -o test.exe` 來把 test.cpp 編譯為 test.exe ,並且引用剛剛的 dll.dll。

怎麼樣?不出意外的話,你的目錄下就會多出個test.exe,我們雙擊執行他。

輸出的結果:

1010

890

#include using namespace std;

#define export __declspec(dllexport)

extern "c"

int a_x_b(int a,int b)

並把test.cpp改成如下**:

#include #include using namespace std;

#define export __declspec(dllimport)

extern "c"

int main()

然後編譯,輸入命令g++ dllx.cpp -shared -o dllx.dll -wl,--out-implib,dllx.lib來把剛剛的dllx.cpp編譯成.dll。

接著再把test.exe編譯一遍,輸入命令g++ -ldll -ldllx test.cpp -o test.exe來編譯test.exe。

怎麼樣,執行這個exe,是不是輸出了10 * 10 * 10的計算結果?

Qt 應用之 MinGW編譯 並使用boost庫

ps 移植步驟 2.開啟mingw 最好是就用qt 自帶的,我這裡開啟的是qt5.12.6 mingw 7.3.0 32 bit.如下圖 3.在命令列cd 到 boost 1 66 0 tools build src engine 4.執行 build.bat gcc,在當前目錄將會生成bin.nt...

在MinGW下建立DLL

在許多情況下使用dll是乙個糟糕的主意,但對於新手來說學會如何建立dll,尤其是乙個免費的開發環境例如mingw將意味著對開發工具的快速熟悉並能了解那些看起來隱含的選項。在繼續下面的內容之前,你應該已經安裝並且配置好了mingw。同樣你應該對缺少ide環境的程式設計比較熟悉,或者知道如何在ide環境...

Windows配置Mingw編譯

這一年打code用的基本上都是ubuntu的vim,這次突然轉到windows,瞬間不想用dev cpp,於是想自己下個編譯器,這裡介紹如何安裝並配置mingw 然後在檔案管理器裡,計算機 屬性 高階系統設定 環境變數,然後再系統變數裡找到path,編輯,再最後加上 假如dev cpp裝在c盤de ...