qt c 封装成dll其它语言调用,55.Qt-将界面程序封装成静态库

1.生成dll

82f5656cbc33d293bbfdb54c97aedf43.png

然后选择创建静态链接库:

97e40af4bbb7464cc7805ef62fb5a69c.png

创建的时候,记得勾选QtGui,并且修改pro文件,添加下面1句(这样就可以创建界面了):

12e360f6e22841bf5d1903fdaa164bf1.png

修改staticlib.cpp:

#include "staticlib.h"#includeStaticLib::StaticLib()

{

QMessageBox::information(nullptr,"QMessageBox","My static Lib Test");

}

PS:如果要添加widget界面,可以对着dll项目右击新建,来创建widget界面.

最后点击锤子,生成DLL:

2a9b8d4228572c471e92c1e1431029e1.png

最终build-sharedLib-Desktop_Qt_5_7_1_MinGW_32bit-Debug\debug下生成如下:

8050dc40216018759669e116a3b89d3c.png

而主程序需要用到的有:

.a静态库文件、h头文件

2.主程序调用dll

新建一个userStatic工程,来使用dll:

a748a68d5df433a33eb98281d01fe171.png

创建好后,进入工程目录,添加子目录:

415650eb0237279b0c759454136bcdfb.png

然后将staticlib.h头文件拖到include中.将libstaticLib.a文件拖到lib中.

然后修改pro,导入头文件和dll文件.添加:

INCLUDEPATH += $$PWD/include

LIBS+= -L$$PWD/lib -lstaticLib

b7c0f4b98d997f7e0aa0cccebdb8a439.png

-L指定库的目录,而-l是指定库的名字(需要去掉后缀名,如果是lib开头,则需要去掉前缀lib,所以libstaticLib.a就变为了staticLib)

如果有多个库文件,则在后面逐步添加,比如:

LIBS += -L F:/QT/QT/media/QTMedia/build-dll-Desktop_Qt_5_7_1_MinGW_32bit-Debug/debug/ -lsharedLib-lsharedLib2-lsharedLib3

然后在userShared的main中写入:

#include "widget.h"#include #include //声明dll的头文件

int main(int argc, char *argv[])

{

QApplication a(argc, argv);

SharedLib(); //打开QMessageBox对话框

return 0;

}

运行后,效果如下:

676db065a8349a25fca6a66c06c2c61e.png

在此,感谢

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值