在 Release 模式下出现错误,但在 Build 模式下没有错误。

3

最近,我在Visual 2008中使用opencv和c++制作了一个项目。当我在Debug模式下构建项目时,没有遇到任何问题;但是,当我在release模式下构建时,会出现以下错误:

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

在尝试构建发布模式之前,您允许这个项目变得多大? - Beta
3个回答

13

请检查 Release 配置下的连接器->输入->附加依赖项设置;您无疑忘记了包含 OpenCV 库。只需从 Debug 配置中复制粘贴它们,但别忘了删除 d 后缀。

例如:cv210.lib:Release 模式和 cv210d.lib:Debug 模式。


3

您的发布版本中未包含与调试版本相同的库。"无法解析的外部符号"表示无法找到您正在引用的函数的实现。


0

当你在Debug模式下提供了额外的依赖项,但在Release模式下没有提供时,就会出现这种情况。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接