赞
踩
目录
(1) 把csdn_dll.h和csdn_dll.cpp彻底删除。
(7)在csdn_dll.ui中增加一个pushbutton和一个label,用来测试我们的DLL是否能够正常工作
默认生成的CSDN_DLL类是不带ui界面的,如下图所示:
需要做的操作如下:
但注意,提前将它们的内容复制好,之后生成新的界面类时,其中很多语句是需要往进去添加的;
注意,这里新建的类名要与之前删除的类名字相同,注意,这里是区分大小写的。
接下来点完成即可
构建DLL项目,在Release文件夹或Debug文件夹下会出现一个.a文件和一个.dll文件。
值得注意的是,这里如果使用debug进行构建,那么之后调用DLL的EXE工程也需要用debug构建;如果这里使用release进行构建,EXE工程也需要用release进行构建。
在CSDN_EXE工程所在文件夹下创建名为DLL的文件夹,将之前生成的.a文件、.dll文件和两个.h文件复制到此文件夹下
选择外部库
浏览库文件,选中.a文件
DLL库添加完成
在MainWindow中增加pushButton,作为打开CSDN_DLL的入口
修改mainwindow.cpp如下:
- #include "mainwindow.h"
- #include "ui_mainwindow.h"
-
- #include "DLL/csdn_dll.h"
-
- MainWindow::MainWindow(QWidget *parent, int argc, char **argv)
- : QMainWindow(parent)
- , ui(new Ui::MainWindow)
- {
- ui->setupUi(this);
- }
-
- MainWindow::~MainWindow()
- {
- delete ui;
- }
-
-
- void MainWindow::on_pushButton_clicked()
- {
- CSDN_DLL *csdn_dll = new CSDN_DLL();
- csdn_dll->show();
- }
值得注意的是,这里如果使用debug进行构建,那么之前调的工程也需要用debug构建;如果这里使用release进行构建,DLL工程也需要用release进行构建。
运行后:
点击按钮:
点击DLL的按钮:
调用成功。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。