qt 5.4.1
windows平台
vc封装的dll
此处的dll我是建*.def文件将它导出的。
将dll拷贝到qt工程的根目录下。
qt头文件中添加对函数指针的定义
QLibrary 类是qt用来加载库的一个类
源文件中加载库
void MainWindow::on_test_clicked()
{
int a=5,b=3;
int re1=0;
int re2=0;
QLibrary my_lib("add_def.dll");//加载库名
if(my_lib.load()) 加载库,是实时加载,因此必须写在if语句类,ps:其实我也不太懂,望指正
{
func_Add f1=(func_Add)my_lib.resolve("add"); 导入库中的函数
if(NULL==f1)
{
QMessageBox::warning(this,"","导入函数失败");
}
func_Sub f2=(func_Sub)my_lib.resolve("sub");
if(NULL==f2)
{
QMessageBox::warning(this,"","导入函数2失败");
}
re1=f1(a,b);
re2=f2(a,b);
}
else
{
QMessageBox::warning(this,"","加载动态库add_def.dll失败");
}
qDebug()<<re1<<" "<<re2;
}