有关opencv静态编译的问题

宇文XX 2015-12-16 07:19:41
出现了这样的问题: error LNK2019: 无法解析的外部符号 gzputs,该符号在函数 "void __cdecl icvPuts(struct CvFileStorage *,char const *)" (?icvPuts@@YAXPEAUCvFileStorage@@PEBD@Z) 中被引用
还有40个这样的错误,感觉是有什么东西没有附加成功。


我的配置是这样的:
1)x64平台Debug模式
2)环境变量中添加了x64下的bin文件夹
VC++目录配置如下:

3)采用多线程调试MTD,MFC库调用选择静态库中使用MFC
4)附加项:
把staticlib 里面的lib文件全加了进去:
IlmImfd.lib
libjasperd.lib
libjpegd.lib
libpngd.lib
libtiffd.lib
opencv_calib3d2410d.lib
opencv_contrib2410d.lib
opencv_core2410d.lib
opencv_features2d2410d.lib
opencv_flann2410d.lib
opencv_gpu2410d.lib
opencv_highgui2410d.lib
opencv_imgproc2410d.lib
opencv_legacy2410d.lib
opencv_ml2410d.lib
opencv_nonfree2410d.lib
opencv_objdetect2410d.lib
opencv_ocl2410d.lib
opencv_stitching2410d.lib
opencv_superres2410d.lib
opencv_ts2410d.lib
opencv_video2410d.lib
opencv_videostab2410d.lib

求解!!
...全文
262 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
宇文XX 2016-01-12
  • 打赏
  • 举报
回复
引用 9 楼 qq_24728063 的回复:
[quote=引用 4 楼 赵4老师的回复:]崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。
我去试试看(⊙o⊙)[/quote] 已解决,结贴
图灵转世 2015-12-28
  • 打赏
  • 举报
回复
OPENCV用动态库链接啊。
宇文XX 2015-12-20
  • 打赏
  • 举报
回复
最前面那个问题解决了,少添加了两个库
宇文XX 2015-12-20
  • 打赏
  • 举报
回复
引用 4 楼 赵4老师的回复:
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。
我去试试看(⊙o⊙)
lx624909677 2015-12-18
  • 打赏
  • 举报
回复
引用 5 楼 wangyaninglm 的回复:
本身要新建一套x64平台Debug模式的配置,完后再配置再编译。 然后就是静态库的名字应该不带d 的吧
d是代表debug模式下生成的库,不带d的是release下生成的,这个和静态库没有关系吧
lx624909677 2015-12-18
  • 打赏
  • 举报
回复
再添加dll的时候,只添加64位下的debug版的dll了吗?
shiter 2015-12-18
  • 打赏
  • 举报
回复
引用 6 楼 lx624909677 的回复:
[quote=引用 5 楼 wangyaninglm 的回复:] 本身要新建一套x64平台Debug模式的配置,完后再配置再编译。 然后就是静态库的名字应该不带d 的吧
d是代表debug模式下生成的库,不带d的是release下生成的,这个和静态库没有关系吧[/quote] 奥,我还以为静态库都是不带d的
shiter 2015-12-17
  • 打赏
  • 举报
回复
本身要新建一套x64平台Debug模式的配置,完后再配置再编译。 然后就是静态库的名字应该不带d 的吧
赵4老师 2015-12-17
  • 打赏
  • 举报
回复
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。
  • 打赏
  • 举报
回复
包含过opencv的include文件了吗
宇文XX 2015-12-16
  • 打赏
  • 举报
回复
顺便问下我创建摄像头capture为何会出错:


调试进入下面这一句的时候弹出的错误:
CvCapture* capture = cvCreateCameraCapture(0);

虽然报错了,不过还是能继续显示摄像头的图像,不知道为什么。
worldy 2015-12-16
  • 打赏
  • 举报
回复
你必须使用CMake制作自己的静态库

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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