12、Qt生成dll方式-libs方式使用

Qt创建dll,使用LIBS += -L$PWD -lxxx的方式调用dll

一、创建项目

1、打开Qt->新建文件->其他项目->Empty qmake Project->Choose...

12、Qt生成dll方式-libs方式使用_第1张图片

 2、输入项目名->选择位置->下一步

12、Qt生成dll方式-libs方式使用_第2张图片

 3、MinGW->下一步

12、Qt生成dll方式-libs方式使用_第3张图片

 4、默认,完成

12、Qt生成dll方式-libs方式使用_第4张图片

5、在.pro中添加TEMPLATE = subdirs,点击右下角小锤子进行构建

12、Qt生成dll方式-libs方式使用_第5张图片

二、生成dll

 1、创建生成dll的子项目,右击“dllDemo”->新子项目

12、Qt生成dll方式-libs方式使用_第6张图片

 2、Library->C++库->Choose...

12、Qt生成dll方式-libs方式使用_第7张图片

3、共享库->输入子项目名称->下一步

12、Qt生成dll方式-libs方式使用_第8张图片

 4、选择自己需要的模块->下一步

12、Qt生成dll方式-libs方式使用_第9张图片

5、输入类名,更改.h和.cpp名->下一步

12、Qt生成dll方式-libs方式使用_第10张图片

6、默认->完成

12、Qt生成dll方式-libs方式使用_第11张图片

7、在AddDll.h中声明函数

 int sumFunc(int, int); 

12、Qt生成dll方式-libs方式使用_第12张图片

8、在AddDll.cpp定义函数

int AddDll::sumFunc(int num1, int num2)
{

    return (num1 + num2);
}

12、Qt生成dll方式-libs方式使用_第13张图片

9、点击右下角小锤子构建项目

12、Qt生成dll方式-libs方式使用_第14张图片

10、生成目录中生成dll

12、Qt生成dll方式-libs方式使用_第15张图片

 三、使用dll

 1、创建使用dll的子项目,右击dllDemo->新子项目

12、Qt生成dll方式-libs方式使用_第16张图片

2、Application->Qt Widgets Application->Choose

12、Qt生成dll方式-libs方式使用_第17张图片

3、输入子项目名->下一步

12、Qt生成dll方式-libs方式使用_第18张图片

 4、输入类名->下一步

12、Qt生成dll方式-libs方式使用_第19张图片

 5、默认,完成

12、Qt生成dll方式-libs方式使用_第20张图片

 6、把刚才声明的addDll.dll拷贝到addUse工程下 12、Qt生成dll方式-libs方式使用_第21张图片

7、右击addUse->添加现有文件->添加addDll目录中的AddDll.h和adddll_global.h

12、Qt生成dll方式-libs方式使用_第22张图片

12、Qt生成dll方式-libs方式使用_第23张图片

 8、addUse.pro中添加LIBS +=-L$PWD -laddDll,并构建

12、Qt生成dll方式-libs方式使用_第24张图片

 9、MainWindow.h中添加AddDll.h头文件,创建AddDll对象

12、Qt生成dll方式-libs方式使用_第25张图片

 10、进行界面设计,更改控件的objectName 

12、Qt生成dll方式-libs方式使用_第26张图片

 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、Qt生成dll方式-libs方式使用_第27张图片

 12、右击addUse->运行

如果程序卡死,关闭Qt,重新打开Qt再运行程序;

注:程序卡死原因,生成dll的程序构建完成没有关闭,dll处于打开状态,不能被调用

12、Qt生成dll方式-libs方式使用_第28张图片

 13、输入被加数、加数,点击求和

12、Qt生成dll方式-libs方式使用_第29张图片

你可能感兴趣的:(Qt小功能-Windows,qt,开发语言)