Qt - Qt調用VS生成的C靜態庫


1,生成dll和lib庫

在vs2010中新建工程,在向導中選擇DLL,如下圖所示:

新建兩個文件mydll.h和mydll.c

mydll.h代碼如下:

 1 #ifndef MYDLL_H
 2 #define MYDLL_H
 3 #ifdef __cplusplus //
 4  extern "C"{
 5  #endif
 6  __declspec(dllexport) int myFun(int a,int b);
 7 
 8 #ifdef __cplusplus
 9  }
10  #endif
11 
12 #endif

mydll.c代碼如下:

1 #include "mydll.h"
2 #include <stdio.h>
3 
4 int myFun(int a,int b)
5 {
6     printf("myFun is called");
7 
8     return a+b;
9 }

編譯運行,在Debug目錄下可看到下述文件:

2.在Qt中調用dll和lib庫

新建Qt工程LibTest2,將mydll.h文件添加到當前工程中;將mydll.lib和mydll.dll文件復制到工程所在目錄;

在LibTest2.pro右鍵導入外部庫,參數選項如下圖所示:

在mainwindow.cpp中包含“mydll.h”

在構造函數中添加下述代碼:

   int test;
      test = myFun(33,33);

      qDebug()<<test;

編譯運行,結果如下:

可以看到C靜態庫已被調用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM