windows 下Qt调用Qt生成的dll

来源:互联网 发布:win2008r2装sql 编辑:程序博客网 时间:2024/06/11 02:24

昨天弄了好久才把dll调用的部分弄出来,感觉不错。以前也碰到过这类情况,就是C++调用Matlab的dll,不过那时候弄了好几个月,差点就放弃。好了,废话不说,开始正题!


1.Qt隐式调用Dll

1)我们建立一个控制台项目,起名为add

2)删去main.cpp,加入两个文件 : add.h      add.cpp

3)两个文件的代码如下:

//add.h

#define ADD_H
int add(int a, int b);
#endif // ADD_H
{
    return a+b;
}
5)进行构建,在debug目录下会生成 add.dll 和libadd.a文件,后面会用到。 其中.a是静态链接库,相当于windows上的lib文件。.so是动态连接库,相当于windows上的dll文件。
--------------------------------------------------------------------------------------------------------------------------------------------------------------
6)我们这里再建立一个新的工程adduse,这个是调用的部分。
7)将add工程中的add.h添加到这个工程中
8)在main.cpp中写入:
#include <QApplication>
#include <qdebug.h>
#include "add.h"
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    qDebug() << add(12,3);
    return a.exec();
}
     9).pro文件中加入LIBS += -L. -ladd
-L 参数指定 .lib/.a 文件的位置         -l  参数指定导入库文件名(不要加扩展名)          另外,导入库文件的路径中,反斜杠用的是向右倾斜的  ‘/’
    10)最重要的一步是:将add工程中生成的libadd.a 拷到和main.cpp一个目录下面,add.dll拷到build-adduse-Desktop_Qt_5_2_0_MinGW_32bit-Debug这个目录下就好了
    11)运行工程,Enjoy!

0 0
原创粉丝点击