qt生成静态库和动态库的创建与vs2015的调用(亲测实例)

1、前言为什么要用静态库或者共享库

在程序量比较小的时候,把cpp和.h都放到项目中是可以的,但是你想复用你之前的程序或者减少项目中的cpp和.h,这时候就需要把cpp封装成库

2、在qt中怎么生成和引用

  1. 添加c++的库 ,如图
    在这里插入图片描述
  2. 下一步选择静态库或者共享库(动态库)
    在这里插入图片描述

    你可以添加你想要的的版本,这边举例是msvc 64位

在这里插入图片描述
3. 先举例 动态库 的创建与使用,进入qtcreator界面
需要先把**QAdd.h 和Qadd-global.h **做一些替换,如下 在这里插入图片描述
.h文件在这里插入图片描述
.cpp下在这里插入图片描述
4. 对global的解释
在这里插入图片描述
在这里插入图片描述
我的理解是,一个是编译出来时调用,一个是引用时调用
5. 编译msvc64位debug和release版,在test中添加外部的库(lib)。把debug和release运行得到的Qadd.lib 添加到test根目录的include文件下,debug更名为QAddd.lib。
在这里插入图片描述
添加lib
在这里插入图片描述
6. 最重要的一步 一定要把dll放在你的exe同级目录,不然程序会崩溃
在这里插入图片描述
运行结果如下图所示在这里插入图片描述

3、在vs引用动态库

  1. 把qt creator debug/release生成的 lib和QAdd.h 放入 vs 程序目录include里面
    在这里插入图片描述
  2. 对vs 进行设置,需要设置三个地方
    第一步c++ —》常规-----》附加包含目录-----》直接输入include
    第二步 链接器 ----》常规------》附加库目录------》直接输入include
    第三步 链接器 ----》输入-------》附加依赖项----》输入刚刚的lib
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    3、运行结果,我是在release下执行的,依然要把dll放在和exe一起
    在这里插入图片描述

4、静态库不会生成dll,所以不用把dll和exe放在一起,少一步,其余步骤一抹一样
5、博客推荐
关于静态动态库区别,推荐博客,https://blog.csdn.net/foooooods/article/details/80259395
关于路径:.\ 为当前路径为vcxproj文件所在目录,…\上一级。
https://blog.csdn.net/w774937253/article/details/90664507

这些列子实际测试了的,亲试踩坑,踩了几个小时,睬出来了。

参考博客和书籍:
1、qt5.9 c++开发指南

发布了7 篇原创文章 · 获赞 4 · 访问量 352

猜你喜欢

转载自blog.csdn.net/a1ngel/article/details/103812738
今日推荐