在VS2008 +MATLAB2014配置下编译TLD中compile文件
来源:互联网 发布:nginx 新手配置 编辑:程序博客网 时间:2024/06/07 22:23
本人非计算机专业,对于软件的安装与配置一直处于傻瓜式操作状态,几乎每次都是在谷歌的帮助下完成任务;首先声明本人电脑里安装了VS2008,OpenCV2.0 和MatLab2014;
1. 买台新电脑,商城预装的破解版的64位win7系统;
2. 回来装了matlab后要编译一些TLD中cpp文件为mex文件,即需要先运行TLD中的compile文件;
3. 运行compile文件老是不成功;
4. 然后mex-setup命令,又是提示错误,还让查阅相关网址;
http://www.mathworks.com/support/solutions/data/1-5C27B9.html?solution=1-5C27B9
5. 在谷歌里面搜“mex -setup”win64错误,似乎是说64位的matlab没有自动携带编译器,要自己安装才行;
6. 打开提示的网址,迷迷糊糊地一路点下去似乎安装了个东西,不晓得是什么;
7. 然后再在命令行窗口里输入"mex -setup" 又出错,提示的说法似乎是说,"SDK7.1似乎已经安装了,但是还是找不到编译器;建议先安装.Net4.0,然后再一次安装SDK wizard";
这一次有点明白了,似乎SDK7.1关系着一个编译器,而安装SDK之前要安装.Net 4.0,想到在第6步安装的时候有许多选项没打勾 应该是这个原因;可是再一次安装4步中的网址指示安装时那个选项框再也不弹出来了;
8. 于是手动搜索下载.Net4.0并安装;然后手动下载winsdk_web.exe,并安装;
9. 安装完之后果然再一次运行 mex -setup时会提示所用的语言 “C++ or Python”;
10. 但是运行程序中的compile仍然出错;就是说什么unresolved cvReleaseImage之类的;
11. 在想,SDK编译器没见过,是不是需要使用VS编译器啊?于是在谷歌搜“matlab 64 vs 编译器”,从一些回答可以看出是因为VS在安装的时候没有选择安装64位编译器,拯救的办法是在"控制面板下-程序和功能"下,找到VS2008,然后点击上方的“删除/更改”,在后来的界面中选择 "Add or Remove Features"那个,下一步,在Language Tools/Visual C++/X64 compilers and Tools前打钩,然后点击“updae”按钮就会自动完成更新,需要注意的是这个时候还是需要VS原来的安装文件的;
12. 安装完成后,再在matlab命令窗中运行 mex -setup 命令 果然提示了VS2008编译器, 按照提示分别运行了如下三条命令,
mex -setup:C:\Users\lenovo\AppData\Roaming\MathWorks\MATLAB\R2014a\mex_C_win64.xmlC
mex -setup C++
mex -setup:'C:\ProgramFiles\MATLAB\R2014a\bin\win64\mexopts\msvcpp2008.xml' C++
13. 接着再次运行compile,仍然是提示上述找不到cvReleaseImage之类的提示,所以想是不是因为opencv版本的问题呢,可是像cvReleaseImage这么基础的函数在两个版本之间是没区别的啊?
14. 决定下载个作者所用的opencv版本,后来查看别人发给我的一个关于此程序的compile文件,他的里面是指明了所用的库是64位的(其中有64位的也有32位的),
突然觉得应该是因为在compile时所依赖的库都是基于32位编译器的关系,因此下载了OpenCV 2.4.3,使用了build目录下的include文件夹和x64文件夹下的库文件来帮助编译,如下
include = ' -IC:\opencv\build\include\-IC:\opencv\build\include\opencv\ -IC:\opencv\build\include\opencv2';
libpath = 'C:\opencv\build\x64\vc9\lib\';
这一次果真编译成功了。
15. 哎,没有点基本常识真的很可怕,明明就是64位matlab 编译时依赖于64位编译器所编译得来的库,很简单的道理,可是不懂的人真的只能是一个个试了 费去好多功夫;
16. 这是又在想 VS编译器和SDK编译器的选择有关系吗?所以又换回了SDK编译器,这次还是成功了;看来主要是因为原来在compile时候的所依赖的.lib库文件不合格;
17. 运行run_TLD.m文件仍然出错 似乎是在运行lk(0)时出错的;思考了一会,觉得应该是没有把opencv2.4.3/build下相关的bin路径加入环境变量path中,于是这样做了之后,重启电脑,再运行run_TLD.m果然成功;
- 在VS2008 +MATLAB2014配置下编译TLD中compile文件
- RCNN 安装编译与MATLAB2014下问题解决
- Qt在vs2008下的配置及meshlab编译
- freeglut-2.8.0在VS2008下编译配置
- 在vs2008下编译uclinux内核:工程文件发布
- VS2008下OpenSSL编译配置
- VS2008下OpenSSL编译配置
- 在VS2008下编译sqlite3
- mediastreamer2在VS2008下编译
- WINDOWS下编译MYSQL5.1.73,在VS2008中运行
- 编译src目录下的源文件,然后放在compile文件夹下,接着把compile下的class文件打包,放在dist文件夹下
- 编译src目录下的源文件,然后放在compile文件夹下,接着把compile下的class文件打包,放在dist文件夹下,并设置清单
- webkit在vs2008中编译
- webkit在vs2008中编译
- webkit在vs2008中编译
- SDL在vs2008下配置
- TLD文件配置详解
- 在VS2008中配置QT
- 加州理工学院公开课:机器学习与数据挖掘_过拟化
- videolan x265 源代码下载、编译、测试【二】 【2015-8-11更新 修改Release版本】
- [R语言] 如何保存命令和读取命令
- hdu4608:I-number
- 加州理工学院公开课:机器学习与数据挖掘_神经网络
- 在VS2008 +MATLAB2014配置下编译TLD中compile文件
- 十三周项目一 数组大折腾(2)
- Stanford机器学习---第4讲. 神经网络的表示 Neural Networks representation
- Eclipse 语言包安装 地址
- ios 滑动返回 系统滑动返回
- 斯坦福机器学习公开课笔记--神经网络的学习
- 第十三周项目一 数组大折腾(5)
- 编写一个脚本,对至少三个以上记事本窗口做相同操作,对任意一个窗口进行手动操作,其余窗口由脚本执行相同步骤的键鼠操作,记得是键盘操作+鼠标操作。
- java中super 的两种用法