QT静态链接库

举报
咚咚隆地咚 发表于 2022/09/23 13:47:40 2022/09/23
【摘要】 第一步: 创建一个c++库 空里面的内容可以是ui也可以直接是c++  如果是ui的话 需要给他设置一下pro中的内容在这里 创建的时候一定是静态库!Pro的这一行需要被注释掉              QT -=gui//这一行注释掉不注释掉的话可能会导致.h文件以及cpp文件全部报错 让你无从下手!在pro中需要加上一下内容TARGET = myStaticLib    # 用于...

第一步: 创建一个c++库 空里面的内容可以是ui也可以直接是c++  如果是ui的话 需要给他设置一下pro中的内容

在这里 创建的时候一定是静态库!

图片.png

Pro的这一行需要被注释掉              QT -=gui

//这一行注释掉

不注释掉的话可能会导致.h文件以及cpp文件全部报错 让你无从下手!

在pro中需要加上一下内容

TARGET = myStaticLib    # 用于定义生成后的目标文件名

TEMPLATE = lib  #用于定义项目模板是库

CONFIG += staticlib #配置这个项目是静态库

第二步 生成lib

在debug下运行生成的lib加“d”

在relese 下运行 生成 lib

第三步

在新的项目中添加一个include 文件夹 文件夹中存储 两个模式下的lib以及库的头文件

第四步 新的项目中添加库(在项目上右键就可以看到添加库的选项)

这里选择添加外部库 静态模式

选择不加“d”的lib

添加成功后 pro中会自动生成关于lib的设置  不需要自己去改

# Default rules for deployment.

qnx: target.path = /tmp/$${TARGET}/bin

else: unix:!android: target.path = /opt/$${TARGET}/bin

!isEmpty(target.path): INSTALLS += target

 

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/include/ -lmyStaticLib

else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/include/ -lmyStaticLibd

 

INCLUDEPATH += $$PWD/include

DEPENDPATH += $$PWD/include

 

win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/include/libmyStaticLib.a

else:win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/include/libmyStaticLibd.a

else:win32:!win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/include/myStaticLib.lib

else:win32:!win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/include/myStaticLibd.lib

最后 直接使用这个库就好了

图片.png
注:在编译的时候可能会出现这个小弹框

不需要对他进行操作 直接进行接下的操作就好了  他已经构建项目了  他的里面也会有相对应的lib以及dll文件

如果有不对的地方 恳请各位指教!

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。