您的位置:首页 > 编程语言 > Qt开发

怎么在qt中调用vs中生成的dll

2017-04-13 08:39 309 查看
将vs中生成的dll和lib库复制粘贴到qt的项目的debug文件夹下(注意是复制到build-test4-Desktop_Qt_5_8_0_MSVC2013_32bit-Debug/debug这么一长串的文件夹下)



在新建的qt项目的mian.cpp中输入以下代码:


#include <QApplication>

#include <QLibrary>

#include <QDebug>

#include <QMessageBox>

#include "saveTrain.h"

#include <iostream>

typedef int (*Fun)();//类型和参数要与你要调用的函数一致

#define TEST111_API __declspec(dllimport)

int main(int argc,char **argv)

{

QApplication app(argc,argv);

QLibrary mylib("saveTXT.dll"); //声明所用到的dll文件

int result;

if (mylib.load())//判断是否正确加载

{

QMessageBox::information(NULL,"OK","DLL load is OK!");

Fun open=(Fun)mylib.resolve("train1");//我的函数为train1,写上你的函数名

if (open)

{

QMessageBox::information(NULL,"OK","Link to Function is OK!");

result=open(); //我调用的函数无参数,如果有参数在括号里面写上要传入的参数 ,result是函数返回值

qDebug()<<result;

}

else

QMessageBox::information(NULL,"NO","Link to Function is not OK!!!!");

}

else

QMessageBox::information(NULL,"NO","func is not loaded!");

return 0;//加载失败则退出

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  qt dll