Qt 呼叫第三方庫

2021-09-27 09:14:19 字數 1441 閱讀 3319

一、製作動態庫c++動態庫

c++生成dll,專案名稱mydll

.**件

#ifndef mdll_h

#define mdll_h

#ifdef mylibdll

#define mylibdll extern "c" _declspec(dllimport)

#else

#define mylibdll extern "c" _declspec(dllexport)

#endif

//第一種格式

mylibdll double add(double a, double b);

//第二種格式

//extern "c" ;

#endif mdll_h

.cpp檔案

#include "mdll.h"

#include using namespace std;

double add(double a, double b)

.def檔案

library "mydll"

exports

add @1

二、呼叫動態庫

1、建立工程並構建專案,將 dll和lib拷貝到專案目錄下和生成的debug/release目錄下

2、新增外部庫,專案目錄下的

3、呼叫 

#include "mainwindow.h"

#include "ui_mainwindow.h"

#include #include mainwindow::mainwindow(qwidget *parent)

: qmainwindow(parent)

, ui(new ui::mainwindow)

{ ui->setupui(this);

//載入動態庫

qlibrary mylib("mydll");

if(mylib.load())

{//宣告函式指標

typedef double (*myfun)(double,double);

myfun mm=(myadd)mylib.resolve("add");

if(mm)

{double ret=mm(100,200);

qdebug() 《三、呼叫靜態庫

靜態庫需要兩個檔案.h和.lib,將這兩個檔案拷貝到工程目錄下

在qt工程檔案中新增下列資訊

libs += -ld:/learn/code/qt/temp/ -ilogitechsteeringwheellib

說明:-l+靜態庫路徑(中間沒有空格)

-i+靜態庫名稱(中間沒有空格,-i是大寫的i,靜態庫名後不要加.lib)

引入.**件就可以正常使用了

用qt呼叫第三方庫

宣告 事先我已經自己動手寫了乙個簡單的dll檔案 mydll.dll c版介面的。並且用我前兩篇有關dll文章裡面的方法,從dll中匯出了導入庫 lib 檔案,dll中有兩個函式,原型如下 void helloworld 函式內部呼叫win32 api,功能是彈出乙個helloworld提示框 in...

用qt呼叫第三方庫

宣告 事先我已經自己動手寫了乙個簡單的dll檔案 mydll.dll c版介面的。並且用我前兩篇有關dll文章裡面的方法,從dll中匯出了導入庫 lib 檔案,dll中有兩個函式,原型如下 void helloworld 函式內部呼叫win32 api,功能是彈出乙個helloworld提示框 in...

Qt使用第三方庫

src 3rdparty lib bin 上面的資訊在 pro 檔案中提供,以便 qmake 可以解析它並生成 makefiles。makefiles 包含編譯器和鏈結器生成輸出所需的所有資訊,無論它是可執行檔案,另乙個庫檔案等。使用 includepath 變數提供 mylibrary 的 inc...