opencv3.1+dlib19.4+vs2015

logicic 2018-04-28 10:53:11
环境:opencv3.1+dlib19.4+vs2015
目的:使用opencv3.1静态库和dlib19.4静态库,编写一个动态链接库dll给客户。
结果:在配置过程中,opencv和dlib出现某个库冲突,在vs报错了,然后我在重新编译dlib静态库的时候把冲突的库给去掉了,重新生成了要给静态库,然后就重新编译我的工程,得到一个dll文件,可是测试使用的时候,imread却读不到图片,如果我把dlib给去掉,重新生成dll却又是可以使用的,我的mt,mtd是正确的,现在不知道是哪个地方出错了。请大家帮忙
...全文
1186 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2018-05-04
  • 打赏
  • 举报
回复
将opencv*.dll拷贝一份放到你exe文件所在文件夹下。
logicic 2018-05-04
  • 打赏
  • 举报
回复
我知道这是最简单的方法。可是,我想知道我现在遇到的这个问题的原因是什么。还是说我描述的地方什么不对?我再描述一下: 我需要写一个dll给客户,我写的过程中需要用到opencv和dlib这两个第三方库,而客户要求只交付一个dll文件给他,所以采用的方案是使用opencv和dlib的静态库,然后再进行编译链接产生一个dll,这个dll比平常的都大,目前有18M,是可以把静态库的内容给编译进去了。但是我在测试这个dll的时候,发现opencv中的读取图像的函数imread用不了,读取出来的数据为空。然后我再生成dll的工程把dlib有关的所有东西全部删掉,重新编译生成新的dll,再测试又是可以使用的。不知道为什么。 谢谢
赵4老师 2018-05-03
  • 打赏
  • 举报
回复
百度搜相关关键字。
logicic 2018-05-03
  • 打赏
  • 举报
回复
引用 3 楼 zhao4zhong1 的回复:
[quote=引用 2 楼 qq_38960899 的回复:] 客户要求最后只提交一个动态库给他,所以采用的方案是第三方库都使用的静态库,有没有解决办法呢?
客户的要求不合理,需要学会拒绝![/quote] 好的,我请试试。那可以告诉我理由吗?我不清楚统一使用动态库的好处或者使用静态库的劣处,还请指教谢谢
logicic 2018-05-03
  • 打赏
  • 举报
回复
我去查了查,说是如果有多个重用的函数或者变量的话会很麻烦,不知道是不是说的这个。可是我现在应该是已经解决了重用的问题,并且已经编译链接成功了,可是却在测试的时候用不了imread,不是很明白这是为什么,可以指明一下方向吗?谢谢
logicic 2018-05-01
  • 打赏
  • 举报
回复
客户要求最后只提交一个动态库给他,所以采用的方案是第三方库都使用的静态库,有没有解决办法呢?
赵4老师 2018-05-01
  • 打赏
  • 举报
回复
引用 2 楼 qq_38960899 的回复:
客户要求最后只提交一个动态库给他,所以采用的方案是第三方库都使用的静态库,有没有解决办法呢?
客户的要求不合理,需要学会拒绝!
赵4老师 2018-04-30
  • 打赏
  • 举报
回复
建议统一使用动态库。

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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