【求助】VS2015+Opencv2.4.9程序打包问题

WickyC 2017-10-15 09:29:49
本人通过VS2015+Opencv2.4.9的环境编写了一个程序。现今到了程序需要打包的环节,我想达到的目标是把我写的程序在其他没有安装Visual studio的Windows系统PC机上,能直接通过EXE文件运行我的程序。
在网上查到通过动态链接库的方法。我分别通过depends和dumpbin的方法查到exe文件调用的dll文件,并且把这些文件放在与exe文件相同的目录下,最后我把整个项目拷贝至别的电脑上运行,却提示“应用程序无法正常启动0xc000007b”。
试了好多天,查了不少资料,都未能解决,十分苦恼,望帮助!!
...全文
496 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2017-10-17
  • 打赏
  • 举报
回复
赵4老师 2017-10-16
  • 打赏
  • 举报
回复
安装VS2015可再发行包 将opencv*.dll放在和exe相同文件夹下。
WickyC 2017-10-16
  • 打赏
  • 举报
回复
通过多次实验后发现以下问题(实验环境是win10/64位的镜像系统,只安装了vc_redist) 发现的问题:(下面提到的MT/MTd/MD/MDd是指项目属性->代码生成->运行库的选项) 1.单纯的C++程序,通过MT/MTd两种方法编译EXE并运行成功,不需要补充dll; 2.使用MD/MDd编译后的exe提示缺少dll,把需要的dll放于exe同目录下再运行则出现无法正常启动。此时再对此项目使用MT/MTd重新生成的exe,运行此exe仍然提示缺少dll,补齐dll后同样提示无法正常启动。 3.对Opencv项目,直接用MTd/MDd编译出exe(不知道为什么只能用这两种方法编译,其他两种编译会出错),使用MTd时提示缺少2个dll,补齐后提示无法正常启动;使用MDd后提示缺少4个dll,补齐后也提示无法正常启动。 目前的个人总结:只要需要另外补充dll的情况都无法正常启动程序! 求解。
robertbo 2017-10-16
  • 打赏
  • 举报
回复
并不是depend看到的所有dll都要拷贝到目标机器,你在目标机器上线考一个exe,然后用depend查看哪些dll是红色或黄色的,把这些考过去就可以,一直到所有的红色和黄色dll都解决了应该就可以了。 一些系统的dll直接拷贝过去反而会导致调用出问题。
WickyC 2017-10-16
  • 打赏
  • 举报
回复
引用 3 楼 赵4老师的回复:
安装VS2015可再发行包 将opencv*.dll放在和exe相同文件夹下。
非常感谢您的回答,但是尝试了您的方法后仍然未能解决问题。如果可以的话,麻烦您看你下此贴5楼我的进一步说明,万分感谢。
WickyC 2017-10-16
  • 打赏
  • 举报
回复
引用 2 楼 robertbo的回复:
并不是depend看到的所有dll都要拷贝到目标机器,你在目标机器上线考一个exe,然后用depend查看哪些dll是红色或黄色的,把这些考过去就可以,一直到所有的红色和黄色dll都解决了应该就可以了。 一些系统的dll直接拷贝过去反而会导致调用出问题。
我尝试了不放所以opencv相关的dll然后直接打开exe,提示缺少dll文件,补齐了缺失的dll文件后则显示无法正常启动。
WickyC 2017-10-15
  • 打赏
  • 举报
回复

上图

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧