[OpenCV+VS2015]第三方库的导入问题

[OpenCV+VS2015]第三方库的导入问题

本人在使用OpenCV+VS2015的时候需要导入第三方库,这个坑把我害惨了。
本文以dithering算法为例,需要导入vilib库和viImage库。
本文如果错误地方,欢迎大家指正!谢谢

1、添加第三方库(vilib为例)

首先需要在你的cpp文件中添加

# include "viLib.h" // Include head file
# pragma comment( lib, "viLib.lib" ) // include viLib.lib

其次需要在源文件中添加.h文件
在这里插入图片描述
然后找到项目—属性
在这里插入图片描述
然后设置在这里插入图片描述
1.可执行文件目录:添加的是第三方库所在的文件夹 D:\VSwork\dithering\viLib
2.包含目录:添加的是第三方库所在的文件夹 D:\VSwork\dithering\viLib
3.库目录:添加的是第三方库所在的文件夹 D:\VSwork\dithering\viLib
这里viLib文件夹下有dll文件和.h文件都放在了一起

之后配置链接器
在这里插入图片描述
配置好后修改一下系统环境变量
此电脑–高级系统设置-----环境变量
在这里插入图片描述
在这里添加第三方库dll的文件路径
在这里插入图片描述
然后运行程序就行了

2、我遇到的问题

1 include后面""与<>的区别

“”:系统自带的头文件用尖括号括起来,这样编译器会在系统文件目录下查找。

<>:预处理器以“实现定义的方式”来寻找文件。它通常是从当前目录开始寻找,即从用户目录开始找,如果没有找到,则会使用尖括号的方式继续寻找。

2 报错:错误 LNK1107 文件无效或损坏: 无法在 0x298 处读取 dithering D:\VSwork\dithering\viLib\viLib.dll

在这里插入图片描述
解决办法:检查自己的链接器—输入—附加依赖项中应该是.lib文件不要写成dll文件!!!!!!!

3 如果还和dll错误有关时候

我直接把第三方库中的dll文件全部复制到C:\Windows\System32了一遍

4 “dithering.exe”(Win32): 已加载“C:\Windows\SysWOW64\ntdll.dll”。无法查找或打开 PDB 文件。

直接Ctrl+F5解决问题,我觉得不需要改变调试设置里的东西,因为我这个电脑好像改了也还是会出现一部分PDB文件报错,反正是Debug上的问题,跳过就行了

5 库是x86还是x64

这个还是要先注意的,我的这个viLib库就是x86的,所以要设置为x86而不是x64
在这里插入图片描述

6 系统报错viLib.h文件损坏,需要重装程序啥的

如果库确实没问题,这个是系统环境变量配置的问题,去修改一下path就好了

所用例子和第三方库已上传

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值