compile经历种种错误 现身说法

以前在笔记本上跑过TLD算法,但是那是同学帮我调试的,因为才刚接触matlab,现在想在台式机上也配置一下TLD,于是亲自搞起,去https://github.com/zk00006/OpenTLD,下载opentld,然后编译,我台式机上装的是matlab2011b,和github上说的matlab2010a不一样,但是我想试试能不能跑起来,发现mex文件夹里的fern.cpp老是出错,后来吧char16_t 那三行注释掉,还不行,不知道怎么回事有提示,matrix.h 里面的319行有错误。心里想把matlab2010a的这个文件替换过来,发现果然compile通过,但是run_TLD时,还不行,出现好多莫名奇妙的错误,想着在其他盘装个matlab2010a算了,装好以后还要下个补丁,因为matlab2010不支持vs2010的compiler,因为我用的是opencv246在D盘根目录,所以改compile.m里的

include = ' -ID:\opencv\build\include\opencv2 -ID:\opencv\build\include -ID:\opencv\build\include\opencv';libpath = 'D:\opencv\build\x86\vc10\lib\&;;但是编译通过,run_TLD ,matlab崩溃:

因为我少了三个\ 应该是:

include = ' -ID:\opencv\build\include\opencv2\ -ID:\opencv\build\include\ -ID:\opencv\build\include\opencv\&;;libpath = 'D:\opencv\build\x86\vc10\lib\&;;注意是opencv\build\x86\vc10\lib,而不是bin,我就犯了这个错,好久才发现,include后面的-ID:其中-I是mex命令的一个选项,可以help mex 一下,看看mex帮助,-I就表示后面的目录是编译包含的目录,其实这样就可以了,但是我当时还不知道是这个原因,我以为是opencv环境变量错了,于是我去改环境变量,加了个path变量,结果系统原有的环境变量没了,我又得把matlab 的两个环境变量和opencv的环境变量又加进去,但是还不行,这时我发现了上述错误,我更正以后,还是不行,要么compile不过,要么run_TLD出错,提示invalid mexfile 百思不得其解,后来发现,更改环境变量后要注销系统,结果成功! 还有matlab2010a 调用VS2010编译器的补丁在?solution=1-D5W493

追加:在编译的时候 先确认lib文件到底有没有,今天帮别人装tld,一个问题是,选择的编译器是vs2010的,但是opencv的库选的却是,vs2012的,,(提示一下vc12表示是 vs2013,vc11才是vs2012),还有就是lib 变量对应的文件夹路径后面少了一个\ 这样就读不道Lib 文件编译的时候 就提示 无法解析的外部符合,等等。使用matlab212调vs2010的编译器 没有问题 可以直接用。

穿过紫堇,穿过木棉,穿过时影时现的悲喜和无常。

compile经历种种错误 现身说法

相关文章:

你感兴趣的文章:

标签云: