“Windows XP下vs2010中配置OpenCV2.4.3 ”的补充

Windows XP下vs2010中配置OpenCV2.4.3

改名为:cmake + opencv2 +VS更合适。

其实,VS2010可以换为其它版本,如vs2005,已亲自验证。

(该文章不涉及TBB,TBB加速用的,cmakelist.txt默认是不编译的,研究时基本上用不到。若用,cmake界面中需要设置,网上教程很多。)

9、  使用vs2010打开OpenCV.sln文件,分别在Debug和Release下,选择Solution Explorer里的Solution OpenCV,点击右键,运行”Rebuild Solution”,点击CMakeTargets下的INSTALL,build;会在D:\Soft\OpenCV2.4.3\vs2010\install文件夹下的bin文件夹中存放相应的动态库,在lib文件夹下存放相应的静态库;

------------“点击CMakeTargets下的INSTALL,build”的目的是将”Rebuild Solution”生成的“bin lib include”文件夹下的文件,整理复制到新生成的install文件夹下。

------------写我们自己的程序时,你可以选择定位到”Rebuild Solution”生成的“bin lib include”文件夹下的文件,也可以定位到install文件夹里的“bin lib include”文件夹下的文件,结果是一样的。

------------看出来了吧,“点击CMakeTargets下的INSTALL,build”的目的只有一个,整理!!



-------------利用*.sln可以找到你想看的OPENCV函数源代码。

如果不利用cmake生成sln,直接在OPENCV安装目录下的modules下寻找,对于一些函数,会定位错误。

例如svm.cpp的void CvSVM::predict( cv::InputArray _samples, cv::OutputArray _results )中的predict(&samples, &results);

直接在OPENCV安装目录下的modules下寻找,指向了ml.hpp的virtual float predict( const CvMat* samples, CV_OUT CvMat* results ) const,然后就再也找不到定义了。

而*.sln中,则会指向svm.cpp的float CvSVM::predict(const CvMat* samples, CV_OUT CvMat* results) const,成功找到了定义、


此外:

CV_WRAP virtual float predict( const cv::Mat& sample, bool returnDFVal=false ) const,这类CV_WRAP前缀,表示它们是从DLL里导出的函数,即我们在程序当中可以调用的函数,直接在OPENCV安装目录下的modules下寻找,无法指向。而*.sln中,则会指向正确的定义之处。




11、             选中工程-->属性-->配置属性-->链接器-->输入-->附加依赖性:Debug和Release,添加相应的.lib

-----------我发现,网上教程,VS中多利用静态库文件*.lib;eclipse中多利用*.dll文件
----------有个问题,我写OPENCV程序时,附加依赖性,只导入了release生成的文件,即文件名不含d的,debug时也没报错啊

求解惑!



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值