我使用Cmake使用TBB编译了OpenCV 3.0.0,现在我不确定include和库目录的位置(对于VS 2012)。我遵循了these条款,但是该库不在"设置环境路径"中提到的文件夹中。 blurb(可能是从早期版本复制而来)。
我是否正确地假设相关文件夹是" OpenCV / Build"和" OpenCV / Source"不再为新项目发挥作用吗?
" OpenCV / Build / Install / include"是否需要包含和库?和" OpenCV / Build / Install / x86 / lib / vc11 / lib"分别?我添加了这些,以及相应的附加依赖项 - 我的程序
#include "opencv2/opencv.hpp"
int main( int argc, char** argv )
{
cv::Mat src = cv::imread( "C:\\pics\\test.tif",0);
cv::imshow("end",src);
return 0;
}
编译,但崩溃说:
程序无法启动,因为您的opencv_core300.dll缺失 电脑。尝试重新安装该程序以解决此问题。
可能是什么原因?
答案 0 :(得分:0)
然后,您需要指定链接器应在其中查找的库。要执行此操作,请转到链接器‣输入,然后在“附加依赖项”条目下添加要使用的所有模块的名称:
在此处添加调试库名称。就像这样。 这些库的名称如下:
opencv_(模块的名称)(您使用的库的版本号)d.lib 完整列表,最新版本将包含:
opencv_calib3d300d.lib
opencv_contrib300d.lib
opencv_core300d.lib
opencv_features2d300d.lib
opencv_flann300d.lib
opencv_gpu300d.lib
opencv_highgui300d.lib
opencv_imgproc300d.lib
opencv_legacy300d.lib
opencv_ml300d.lib
opencv_nonfree300d.lib
opencv_objdetect300d.lib
opencv_ocl300d.lib
opencv_photo300d.lib
opencv_stitching300d.lib
opencv_superres300d.lib
opencv_ts300d.lib
opencv_video300d.lib
opencv_videostab300d.lib
最后的字母d表示这些是调试所需的库。现在单击“确定”保存并对“发布规则”部分中的新属性执行相同操作。确保省略库名称中的d个字母,并保存属性表,并在其上方保存图标。
释放的那些。 您可以在项目目录中找到属性表。在这一点上,将它们备份到某个特殊目录是明智的决定,以便在将来创建OpenCV项目时始终将它们放在手边。请注意,对于Visual Studio 2010,文件扩展名为props,而对于2008,这是vsprops。
释放的那些。 下次制作新的OpenCV项目时,只需使用Property Manager中的“添加现有属性表...”菜单条目即可轻松添加OpenCV构建规则。