0

我现在正在使用 OpenCV 2.3.1 和 MS Visual Studio 2010 工作一段时间,并将其安装在多台 PC 上。过去,我也在我的一台 PC 上安装了 openCV 2.1.0。我的问题是,在我安装了 openCV 2.1.0 的 PC 上,cxcore210.lib 和 cv210.lib 在链接器 >> 输入 >> 附加依赖项中列为继承值

问题是,当我尝试使用 OpenCV 2.3.1 在这台 PC 上构建程序时(我已经正确设置了所有链接器和东西,并且在我的“干净”PC 上它工作正常)它一直在询问这 2 个 lib 文件。当然,我可以再次安装 OpenCV 2.1.0 并链接到这些文件,但这并不是我真正想要的,因为我正在使用 OpenCV 2.3.1

我试过重新安装我的 Visual Studio,但这也不能解决问题。OpenCV 2.1.0 也被卸载,路径设置也被删除。有谁知道为什么它一直在寻找 cxcore210.lib 和 cv210.lib 作为继承值,我该如何摆脱它们?

4

2 回答 2

0

那是因为您的项目仍然认为您正在使用 OpenCV 2.1。您需要转到下的项目设置Linker > Input > Additional Dependencies并替换cxcore210.lib cv210.lib为它们各自的 v2.3.1 对应项,它们是:

opencv_core231.lib opencv_highgui231.lib

您可能需要添加其他库,例如opencv_imgproc231.libabd 可能还有其他库,具体取决于您的程序在 OpenCV 中使用的内容。这些版本之间发生了很多变化。

此外,如果您将 OpenCV 2.3.1 安装在与 v2.1 不同的目录中,您将不得不在项目设置中调整更多内容:

  • 标题的路径:C/C++ > General > Additional Include Directories
  • 可能还有图书馆的路径:Linker > General > Additional Library Directories

本教程逐步展示了如何配置这些以及更多内容。

于 2012-04-24T21:11:51.380 回答
0

嗯,现在似乎可以工作,我想我设法找到了一些解决方法。我去了 Linker > Input > Additional Dependencies 并取消选中“从父级或项目默认值继承”框。两个 lib 文件都保留为继承值,但至少我可以正确构建和运行项目,而不会出现错误,告诉我指向 cxcore210.lib cv210.lib

于 2012-04-25T13:11:34.500 回答