发布模式出错但构建模式不出错

Posted

技术标签:

【中文标题】发布模式出错但构建模式不出错【英文标题】:Error in Release mode but not in Build mode 【发布时间】:2011-07-27 18:06:57 【问题描述】:

我最近在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

【问题讨论】:

在您尝试在发布模式下构建之前,您允许该项目发展到多大? 【参考方案1】:

检查发布配置中的链接器->输入->附加依赖项设置;毫无疑问,您忘记了包含 OpenCV 库。只需从 Debug 配置中复制粘贴它们,但不要忘记删除 d 后缀。

例如cv210.lib:发布模式和cv210d.lib:调试模式。

【讨论】:

【参考方案2】:

您在发布版本中包含的库与您在调试版本中包含的库不同。 “未解析的外部符号”意味着它找不到您正在引用的函数的实现。

【讨论】:

【参考方案3】:

当您将附加依赖项提供给调试模式而不是发布时,就会发生这种情况。

【讨论】:

以上是关于发布模式出错但构建模式不出错的主要内容,如果未能解决你的问题,请参考以下文章

在生产模式下构建角度应用程序时出错

hadoop 模式下的 Mrjob:启动作业时出错,输入路径错误:文件不存在

运行可执行文件时编译着色器时出错

.exe 文件在 QtCreator 中构建后停止并最终启动?

使用 PostCSS 和 TailwindCSS 构建 Gatsby 站点时出错

在 oozie 工作流中读取 avro 数据文件时出错 - 类与新地图 API 模式不兼容