OpenCV 和 Visual Studio 2015:为什么包含静态库不起作用?

OpenCV and Visual Studio 2015: Why is including the static library not working?

我正在尝试使用 OpenCV 3.0.0 设置一个 VS2015 解决方案,并且我正在尝试仅使用静态库。

头文件:正确包含 OpenCV 头文件,我可以在我的源文件中毫无问题地引用它们。

库: 当我使用 CMake 构建 OpenCV(称为 "ippicvmt.lib")时为我创建的静态库文件被正确包含,并且加载没有问题。

在代码中使用 OpenCV: 当我尝试在我的解决方案中使用 OpenCV classes/functions 时,出现链接器错误建筑类似于

LNK2001:  unresolved external symbol "public: virtual double __thiscall cv::VideoCapture::get(int)const

我可以右键单击并选择 "Go to definition" 我对这个函数的使用,它会打开 videoio.hpp 并显示虚拟方法的声明。我看到的链接器错误可能是由于 visual studio 无法在我的解决方案中包含的静态库中找到该方法的实际实现。

据我了解,我需要包含的唯一 .lib 文件是一个静态库文件。这就是我现在所包含的全部内容。

有人知道为什么 VS 在 OpenCV 静态库中找不到这段代码的实现吗?

我通过在 CMake 中禁用使用共享库构建的标志来解决我的问题,之后更多 .lib 文件显示在我安装的 sharedlib 文件夹中。我将每个我想使用的 .lib 文件添加到我的项目属性和我构建的项目中的附加依赖项中。