QT+Opencv+海康工业相机打包软件运行出现问题:无法定位动态链接库)

软件版本:

Qt 5.12.8,MSVC2017 64bit

Opencv:4.2.0

海康MVS:4.0.0

准备:

1. 确保opencv和mvs本地配置环境无误:比如安装版本,系统环境变量...

2. 在QT的.pro文件中,调用这俩库没有问题,示例如下(自己用的什么版本就调整,不要完全复制):

#调用OPencv库release版本选择这条:
LIBS += -LD:/openCV/build/x64/vc15/lib/ -lopencv_world420

#debug版本选择这条(不能同时调用):
#LIBS += -LD:/openCV/build/x64/vc15/lib/ -lopencv_world420d

INCLUDEPATH += D:/openCV/opencv/build/x64/vc15
DEPENDPATH += D:/openCV/opencv/build/x64/vc15

INCLUDEPATH += D:/OpenCV/opencv/build/include \
               D:/OpenCV/opencv/build/include/opencv \
               D:/OpenCV/opencv/build/include/opencv2
DEPENDPATH += D:/OpenCV/opencv/build/include \
              D:/OpenCV/opencv/build/include/opencv \
              D:/OpenCV/opencv/build/include/opencv2

#调用海康SDK
INCLUDEPATH += $$PWD/include/CameraSDK
DEPENDPATH += $$PWD/include/CameraSDK
#根据电脑64还是32位选择
LIBS += -L$$PWD/lib/CameraSDK/win64/ -lMvCameraControl\

3.软件在本地QT运行时无误

问题:

使用QT自带打包指令windeployqt打包完之后,本地运行正常,但是将exe文件夹在别的电脑运行会出现下列错误:

1. 由于找不到opencv_world420.dll,无法执行代码:

解决:将这个.dll直接复制到exe文件夹中

2. 直接点击软件出现程序无法正常启动,使用管理员运行出现报错:无法定位程序输入点MV_CC_GetEnumEntrySymbolic于动态链接库...exe上

解决:经过查询知道MV_CC_GetEnumEntrySymbolic是海康sdk中的接口函数,但是库调用及本地执行都没有问题,但是另一台电脑执行不了,因为在另一台电脑上缺少相应的动态库

所以我们需要找到海康MVS下的动态库,找了半天才知道动态库是runtime下的,不在MVS的安装路径下,在C:\Program Files (x86)\Common Files\MVS\Runtime"路径下,就可以找到SDK所依赖的动态库文件,将该文件夹下的.dll全部复制到exe文件夹中即可成功运行(要使用管理员打开)

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值