[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就好了