带cmake的OpenCV 3.0.0 - 包含/库的位置

时间:2015-08-16 17:09:16

标签: c++ opencv visual-studio-2012

我使用Cmake使用TBB编译了OpenCV 3.0.0,现在我不确定include和库目录的位置(对于VS 2012)。我遵循了these条款,但是该库不在"设置环境路径"中提到的文件夹中。 blurb(可能是从早期版本复制而来)。

  1. 我是否正确地假设相关文件夹是" OpenCV / Build"和" OpenCV / Source"不再为新项目发挥作用吗?

  2. " OpenCV / Build / Install / include"是否需要包含和库?和" OpenCV / Build / Install / x86 / lib / vc11 / lib"分别?我添加了这些,以及相应的附加依赖项 - 我的程序

  3. #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缺失   电脑。尝试重新安装该程序以解决此问题。

    可能是什么原因?

1 个答案:

答案 0 :(得分:0)

然后,您需要指定链接器应在其中查找的库。要执行此操作,请转到链接器‣输入,然后在“附加依赖项”条目下添加要使用的所有模块的名称:

enter image description here

在此处添加调试库名称。就像这样。 这些库的名称如下:

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构建规则。

Check this Official Instruction