Qt创建dll,使用LIBS += -L$PWD -lxxx的方式调用dll
一、创建项目
1、打开Qt->新建文件->其他项目->Empty qmake Project->Choose...
2、输入项目名->选择位置->下一步
3、MinGW->下一步
4、默认,完成
5、在.pro中添加TEMPLATE = subdirs,点击右下角小锤子进行构建
二、生成dll
1、创建生成dll的子项目,右击“dllDemo”->新子项目
2、Library->C++库->Choose...
3、共享库->输入子项目名称->下一步
4、选择自己需要的模块->下一步
5、输入类名,更改.h和.cpp名->下一步
6、默认->完成
7、在AddDll.h中声明函数
int sumFunc(int, int);
8、在AddDll.cpp定义函数
int AddDll::sumFunc(int num1, int num2)
{
return (num1 + num2);
}
9、点击右下角小锤子构建项目
10、生成目录中生成dll
三、使用dll
1、创建使用dll的子项目,右击dllDemo->新子项目
2、Application->Qt Widgets Application->Choose
3、输入子项目名->下一步
4、输入类名->下一步
5、默认,完成
6、把刚才声明的addDll.dll拷贝到addUse工程下
7、右击addUse->添加现有文件->添加addDll目录中的AddDll.h和adddll_global.h
8、addUse.pro中添加LIBS +=-L$PWD -laddDll,并构建
9、MainWindow.h中添加AddDll.h头文件,创建AddDll对象
10、进行界面设计,更改控件的objectName
11、MainWindow.cpp中添加代码
int num1 = ui->num1Edit->text().toInt();
int num2 = ui->num2Edit->text().toInt();
int sum = m_addDll.sumFunc(num1, num2);
ui->addEdit->setText(QString::number(sum));
12、右击addUse->运行
如果程序卡死,关闭Qt,重新打开Qt再运行程序;
注:程序卡死原因,生成dll的程序构建完成没有关闭,dll处于打开状态,不能被调用
13、输入被加数、加数,点击求和