QT创建第三方动态库(外部)

想到老师想要的可能不是内部动态库,最终决定学个外部动态库的创建


一、先建一个动态库

首先我们要创建一个动态库,我取名为CShape
在这里插入图片描述
在这里插入图片描述
然后一直点击下一步,默认即可。
在这里插入图片描述在这里插入图片描述

二、再建一个有main的项目工程

我们现在来建一个主项目,我命名为MainApp
在这里插入图片描述
在这里插入图片描述
然后一直点击下一步,默认就好。
建成长这样
在这里插入图片描述

三、连接动态库

找到我们刚刚构建动态库生成的文件夹->debug,然后把文件夹里面的CShape.dll复制到MainApp下面。
在这里插入图片描述
复制到MainApp项目下,然后创建两个文件夹lib还有include
在这里插入图片描述
找到动态库的两个头文件复制到MainApp项目的include文件夹下
在这里插入图片描述
在这里插入图片描述
把动态库的构建文件中debug的.a文件复制到MainApp项目下的lib文件下
在这里插入图片描述
多复制一次,并将其改名在末尾加个d
在这里插入图片描述
然后我们在MainApp下添加外部库
在这里插入图片描述
在这里插入图片描述
添加动态库之后会在.pro文件夹下看到以下代码,然后记得构建项目(很重要!!!)
在这里插入图片描述
我们测试一下是否连接成功,在main.app下写入动态库的头文件,且没报错,能找到该头文件
在这里插入图片描述
到现在为止我们的外部动态库建成了!!!

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 要将Qt项目打包成动态库,可以按照以下步骤进行操作。首先,进入存放需要打包的exe文件的目录,可以使用命令行(cmd)进入该目录。然后,使用windeployqt命令,后面跟上需要打包的exe文件的名称,即可获取所需要的动态库。如果提示“不是内部或外部命令,也不是可运行的程序或批处理文件。”,可以将windeployqt所在的目录加入到环境变量中。需要注意的是,如果使用的是vs+qt生成的文件,在使用上述命令之前,建议使用vs自带的命令行,否则可能会出现缺少vc依赖的情况。具体的解决办法可以参考相关链接\[1\]。 另外,如果需要调用该动态库的程序,可以按照以下步骤进行操作。在使用该库的程序中,新建一个include文件夹和一个lib文件夹。将导出类的头文件复制到include文件夹中,将编译生成的.lib文件复制到lib文件夹中。然后,在程序中引入该头文件即可。在Qt项目中,可以在.pro文件中添加INCLUDEPATH和LIBS的配置,将include文件夹和lib文件夹添加到相应的路径中,以及链接对应的库文件\[3\]。 参考资料: \[1\] 获取需要的动态库: https://blog.csdn.net/no_say_you_know/article/details/126360830 \[2\] native-lib.cpp文件内容 \[3\] 调用动态库的步骤 #### 引用[.reference_title] - *1* [打包Qt程序(获取需要的动态库)](https://blog.csdn.net/qq_39618959/article/details/129536248)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [13、使用Android Studio开发工具,将一个QT含有第三方库的工程打包成一个动态so供Android Studio开发人员...](https://blog.csdn.net/sxj731533730/article/details/123154604)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【QTQt 给已经开发好的程序快速封装成动态库](https://blog.csdn.net/Cappuccino_jay/article/details/126137458)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值