QT 呼叫外部dll庫的方式 -- 隱式呼叫
阿新 • • 發佈:2020-12-14
1.用vs (我使用的是vs2013)編寫一個dll庫
calculator.c ----------------------------------------------------- #include "calculator.h" int add(int x, int y) { return x + y; } calculator.h ------------------------------------------- #pragma once #include <stdio.h> #include <stdint.h> extern "C" { __declspec(dllexport) int add(int x, int y); }
注意我的QT版本是64位,所以使用vs編譯的時候也應該是64位的
2.隨便新建一個QT工程。
把dll檔案和lib檔案放入一個特定的位置
我這裡新建了一個libbb資料夾,把dll檔案 lib檔案 .h檔案都放入這個資料夾中
在qt工程檔案pro中新增:
-l後面加上鍊接的名字,不需要加上lib字尾
包含 .h檔案就可以使用
這裡注意!!!!!!!!!!!!!!!!!!!!!!
拷貝過來的.h需要做一些修改
把上面的 dllexport 修改成 dllimport 這邊匯出 那邊匯入
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
在pro 檔案中還可以直接右鍵,選擇新增庫,選擇外部庫
瀏覽選擇lib庫所在的位置,點選下一步就好
不知道為啥 最後面的 -lcalculator 變成了 -lcalculatord 末尾多了一個 d 這是編不過去的,需要刪掉最後一個d 也可以使用