我最近在visual 2008中使用opencv和c ++创建了一个项目 当我在调试模式下构建项目时 - 我没有遇到任何问题 - 但是当我在发布模式下构建它时,我得到以下错误:
1>test.obj : error LNK2001: unresolved external symbol _cvHaarDetectObjects
1>test.obj : error LNK2001: unresolved external symbol _cvCvtColor
1>test.obj : error LNK2001: unresolved external symbol _cvCreateImage
1>test.obj : error LNK2001: unresolved external symbol _cvDestroyWindow
1>test.obj : error LNK2001: unresolved external symbol _cvWaitKey
1>test.obj : error LNK2001: unresolved external symbol _cvGetSize
1>test.obj : error LNK2001: unresolved external symbol _cvReleaseCapture
1>test.obj : error LNK2001: unresolved external symbol _cvCreateMemStorage
1>test.obj : error LNK2001: unresolved external symbol _cvClone
1>test.obj : error LNK2001: unresolved external symbol _cvNamedWindow
1>test.obj : error LNK2001: unresolved external symbol _cvQueryFrame
1>test.obj : error LNK2001: unresolved external symbol _cvLoad
1>test.obj : error LNK2001: unresolved external symbol _cvRectangle
1>test.obj : error LNK2001: unresolved external symbol _cvCreateCameraCapture
1>test.obj : error LNK2001: unresolved external symbol _cvGetSeqElem
1>test.obj : error LNK2001: unresolved external symbol _cvShowImage
答案 0 :(得分:11)
检查链接器 - >输入 - >发布配置中的附加依赖关系设置;毫无疑问,你忘了包含OpenCV库。只需从Debug配置中复制粘贴它们,但不要忘记删除d
后缀。
E.g。 cv210.lib
:发布模式和cv210d.lib
:调试模式。
答案 1 :(得分:2)
您未在调试版本中包含的发布版本中包含相同的库。 “未解析的外部符号”表示无法找到您正在引用的函数的实现。
答案 2 :(得分:0)
当您将附加依赖项提供给调试模式而不是发布时,会发生这种情况。