qt pro配置外部库dll到exe中打包发布

Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无法正常运行。因此 Qt 官方开发环境里自带了一个工具:windeployqt.exe。

 

如果要自己复制dll。需要配置pro,配置方法如下(即将外部库dll拷贝到构建文件build-kls_master-Desktop_Qt_5_11_2_ MSV C2015_64bit-Debug文件夹下的bin文件下)

文件目录如下

#配置链接库更改后
#百度在 Qt 的 .pro 中定义拷贝文件或者文件夹文件
#$$PWD 获得当前工作目录路径的字符串值
#replace第一个参数是要修改的字符串,第二个参数是要替换的字符串,第三个参数是替换成什么样的字符串.
#Unix使用斜杆/ 作为路径分隔符,Windows用 反斜杠\ 作为路径分隔符,在程序中,字符串中的“\\”主要是为了转义,“\\”转义后被理解为“\”
#pwd=F:\\bishe_qt_kls\\kls_qt(即kls_qt.pro所在的路径)
#完整的路径为pwd\..\dependencies\opencv\bin\*
#.\ 表示项目文件所在目录 ..\ 表示项目文件所在目录向上一级目录 ..\..\表示项目文件所在目录向上二级目录
#$$replace(PWD, /, \\)\..\dependencies\opencv\bin\*  这句话找到了opencv的文件路径,即动态库dll的路径
#$$OUT_PWD代表的是项目的构建路径,也就是输出路径,
#将当前文件下的bin文件夹下的内容,拷贝到输出文件(即build-kls_master-Desktop_Qt_5_11_2_MSVC2015_64bit-Debug)这个文件目录下,这样方便工程发布
#XCOPY是COPY的扩展,可以把指定的目录连文件和目录结构一并拷贝,但不能拷贝系统文件
#执行pwd指令可立刻得知您目前所在的工作目录的绝对路径名称
#$$PWD代表的是.pro文件所在路径,所以$$PWD表示当前路径
#$$OUT_PWD代表的是项目的构建路径,也就是输出路径,拷贝在debug文件夹下面所以后面加了一个debug.
win32:CONFIG(release, debug|release):{
 QMAKE_PRE_LINK += xcopy $$replace(PWD, /, \\)\..\dependencies\opencv\bin\*  $$replace(OUT_PWD, /, \\)\.\bin\  /s /f /h /y /d  &
 LIBS += -L$$PWD/../dependencies/opencv/lib/ -lopencv_world331
}

else:win32:CONFIG(debug, debug|release):{
 QMAKE_PRE_LINK += xcopy $$replace(PWD, /, \\)\..\dependencies\opencv\bin\*  $$replace(OUT_PWD, /, \\)\.\bin\  /s /f /h /y /d  &
 LIBS += -L$$PWD/../dependencies/opencv/lib/ -lopencv_world331d
}


##include包含目录
INCLUDEPATH += $$PWD/../dependencies/opencv/include
##头文件包含路径
DEPENDPATH += $$PWD/../dependencies/opencv/include

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值