问题:

下载了Liu Ce OpticalFlow 的matlab代码,在Ubuntu下需要通过mex 将核心代码编译成.mexa64(Linux下编译的文件名后缀,据解释,生成的文件就是动态库),遇到的问题首先是matlab R2016b支持的g++版本只到4.9.x,而Ubuntu中g++已经到了5.4版本,版本过高,于是尝试将gcc、g++降级到4.9,然而还是报错,报错原因看不明白,也百度不到,也就没有解决。

解决方案:

突然想到,我只是想编译出Coarse2FineTwoFrames.mexa64,网上应该有人编译过,于是就在pudn上下载到了别人编译出来的Coarse2FineTwoFrames.mexa64,拷贝到 \mex 文件夹下,果然,程序可以运行了。

补充:

Linux下编译,需要在mex文件夹下的project.h中修改一下,把文件开头对"#define _LINUX_MAC" 和"#define _OPENCV"的注释去掉。
Logo

更多推荐