为人类解析代码运行Stretchable模型

时间:2015-01-20 14:56:34

标签: matlab opencv machine-learning computer-vision mex

我正在尝试在Ubuntu 13.04(64位)上运行以下链接中给出的代码:

https://github.com/bensapp/Stretchable-Models-for-Motion-Parsing

我收到以下错误:

INVALID MEX FILE:'filepath / cps / utils / mex_opencv_boosting.mexa64':filepath / cps / utils / mex_opencv_bosting.mexa64:undefined symbol:_ZN7CvBoostC1EPKc。

有人可以帮我修复此错误吗?

谢谢


当我运行命令lld mex_opencv_boosting.mexa64时,我得到以下输出。一切似乎都很好。


linux-vdso.so.1 =>  (0x00007fff7c588000)
    libcxcore.so.4 => filepath/cps/thirdparty/OpenCV-2.0.0/lib/libcxcore.so.4 (0x00007ff8f63b0000)
    libcv.so.4 => filepath/cps/thirdparty/OpenCV-2.0.0/lib/libcv.so.4 (0x00007ff8f5f2b000)
    libml.so.4 => filepath/cps/thirdparty/OpenCV-2.0.0/lib/libml.so.4 (0x00007ff8f5c9e000)
    libhighgui.so.4 => filepath/cps/thirdparty/OpenCV-2.0.0/lib/libhighgui.so.4 (0x00007ff8f5a70000)
    libmx.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmx.so (0x00007ff8f5748000)
    libmex.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmex.so (0x00007ff8f5523000)
    libmat.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmat.so (0x00007ff8f52d3000)
    libstdc++.so.6 => /usr/local/MATLAB/R2014a/sys/os/glnxa64/libstdc++.so.6 (0x00007ff8f4fcb000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007ff8f4c9a000)
    libgcc_s.so.1 => /usr/local/MATLAB/R2014a/sys/os/glnxa64/libgcc_s.so.1 (0x00007ff8f4a85000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ff8f4867000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff8f449f000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007ff8f4297000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007ff8f407d000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff8f3e79000)
    libgomp.so.1 => /usr/lib/x86_64-linux-gnu/libgomp.so.1 (0x00007ff8f3c6a000)
    libpng12.so.0 => /usr/local/MATLAB/R2014a/bin/glnxa64/libpng12.so.0 (0x00007ff8f3a43000)
    libmwresource_core.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwresource_core.so (0x00007ff8f3841000)
    libmwi18n.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwi18n.so (0x00007ff8f3567000)
    libut.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libut.so (0x00007ff8f32ad000)
    libmwfl.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwfl.so (0x00007ff8f2eb1000)
    libmwMATLAB_res.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwMATLAB_res.so (0x00007ff8f28ab000)
    libboost_date_time.so.1.49.0 => /usr/local/MATLAB/R2014a/bin/glnxa64/libboost_date_time.so.1.49.0 (0x00007ff8f269a000)
    libboost_signals.so.1.49.0 => /usr/local/MATLAB/R2014a/bin/glnxa64/libboost_signals.so.1.49.0 (0x00007ff8f2482000)
    libboost_system.so.1.49.0 => /usr/local/MATLAB/R2014a/bin/glnxa64/libboost_system.so.1.49.0 (0x00007ff8f227e000)
    libboost_thread.so.1.49.0 => /usr/local/MATLAB/R2014a/bin/glnxa64/libboost_thread.so.1.49.0 (0x00007ff8f2063000)
    libmwcpp11compat.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwcpp11compat.so (0x00007ff8f1e56000)
    libboost_log.so.1.49.0 => /usr/local/MATLAB/R2014a/bin/glnxa64/libboost_log.so.1.49.0 (0x00007ff8f1b77000)
    libboost_log_setup.so.1.49.0 => /usr/local/MATLAB/R2014a/bin/glnxa64/libboost_log_setup.so.1.49.0 (0x00007ff8f1665000)
    libicudata.so.49 => /usr/local/MATLAB/R2014a/bin/glnxa64/libicudata.so.49 (0x00007ff8f0345000)
    libicuuc.so.49 => /usr/local/MATLAB/R2014a/bin/glnxa64/libicuuc.so.49 (0x00007ff8effbc000)
    libicui18n.so.49 => /usr/local/MATLAB/R2014a/bin/glnxa64/libicui18n.so.49 (0x00007ff8efbad000)
    libicuio.so.49 => /usr/local/MATLAB/R2014a/bin/glnxa64/libicuio.so.49 (0x00007ff8ef9a0000)
    libtbb.so.2 => /usr/local/MATLAB/R2014a/bin/glnxa64/libtbb.so.2 (0x00007ff8ef859000)
    libtbbmalloc.so.2 => /usr/local/MATLAB/R2014a/bin/glnxa64/libtbbmalloc.so.2 (0x00007ff8ef724000)
    libmwservices.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwservices.so (0x00007ff8ef158000)
    libmwmpath.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwmpath.so (0x00007ff8eef11000)
    libmwm_dispatcher.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwm_dispatcher.so (0x00007ff8eec3d000)
    libboost_filesystem.so.1.49.0 => /usr/local/MATLAB/R2014a/bin/glnxa64/libboost_filesystem.so.1.49.0 (0x00007ff8eea1d000)
    libhdf5_hl.so.6 => /usr/local/MATLAB/R2014a/bin/glnxa64/libhdf5_hl.so.6 (0x00007ff8ee7f0000)
    libhdf5.so.6 => /usr/local/MATLAB/R2014a/bin/glnxa64/libhdf5.so.6 (0x00007ff8ee371000)
    /lib64/ld-linux-x86-64.so.2 (0x00007ff8f6a53000)
    libexpat.so.1 => /usr/local/MATLAB/R2014a/bin/glnxa64/libexpat.so.1 (0x00007ff8ee149000)
    libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007ff8edf0f000)
    libboost_chrono.so.1.49.0 => /usr/local/MATLAB/R2014a/bin/glnxa64/libboost_chrono.so.1.49.0 (0x00007ff8edd08000)
    libboost_regex.so.1.49.0 => /usr/local/MATLAB/R2014a/bin/glnxa64/libboost_regex.so.1.49.0 (0x00007ff8ed9ec000)
    libboost_serialization.so.1.49.0 => /usr/local/MATLAB/R2014a/bin/glnxa64/libboost_serialization.so.1.49.0 (0x00007ff8ed774000)
    libunwind.so.8 => /usr/local/MATLAB/R2014a/bin/glnxa64/libunwind.so.8 (0x00007ff8ed556000)
    libmwregexp.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwregexp.so (0x00007ff8ed30d000)
    libmwmlutil.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwmlutil.so (0x00007ff8ecca9000)
    libmwsettingscore.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwsettingscore.so (0x00007ff8ec83b000)
    libmwms.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwms.so (0x00007ff8ec296000)
    libmwMATLAB_settings_res.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwMATLAB_settings_res.so (0x00007ff8ec073000)
    libmwnativedisplay.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwnativedisplay.so (0x00007ff8ebe6a000)
    libmwopccore.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwopccore.so (0x00007ff8ebc0b000)
    libmwopcmodel.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwopcmodel.so (0x00007ff8eb953000)
    libmwopczippackage.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwopczippackage.so (0x00007ff8eb737000)
    libmwopcmwservices.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwopcmwservices.so (0x00007ff8eb4dd000)
    libboost_iostreams.so.1.49.0 => /usr/local/MATLAB/R2014a/bin/glnxa64/libboost_iostreams.so.1.49.0 (0x00007ff8eb2c7000)
    libxerces-c.so.27 => /usr/local/MATLAB/R2014a/bin/glnxa64/libxerces-c.so.27 (0x00007ff8eace4000)
    libncurses.so.5 => /lib/x86_64-linux-gnu/libncurses.so.5 (0x00007ff8eaac1000)
    libmwxmlcore.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwxmlcore.so (0x00007ff8ea84c000)
    libminizip.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libminizip.so (0x00007ff8ea63f000)
    libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007ff8ea415000)

1 个答案:

答案 0 :(得分:0)

尝试以下

export LD_LIBRARY_PATH=filepath/cps/thirdparty/opencv/lib:$LD_LIBRARY_PATH

此后从终端运行MATLAB。你的代码应该运行。

我发现的是符号:_ZN7CvBoostC1EPKc存在于filepath / cps / thirdparty / opencv / lib / libml.so.4中

nm filepath/cps/thirdparty/opencv/lib/libml.so.4 | grep _ZN7CvBoostC1EPKc

不在文件filepath / cps / thirdparty / OpenCV-2.0.0 / lib / libml.so.4中,并以某种方式从MATLAB设置环境变量不起作用。在运行MATLAB之前导出LD_LIBRARY_PATH是必要的。