首先因为要求是安装matlab版本的vlfeat... 先安装matlab(吐槽一下matlab安装下载器巨弱智&麻烦...)
安装下载vlfeat linux版本
然后按照官网的描述运行
# 下面的MATLABROOT要替换成MATLAB安装的路径
make MEX=MATLABROOT/bin/mex
然后会报错因为ubuntu自带的以及apt-get install的是gcc 5.4.x 但是需要使用gcc6.3.0(应该可以是更新的版本)
然后开始安装gcc
在ustc的镜像上下载gcc6.3.0之后进行安装的时候会出现报错 需要安装三个依赖库
具体安装教程见 https://www.e-learn.cn/content/linux/1946856
error1:
之后进行gcc的编译, 不要将原来的gcc g++卸载掉 因为编译的时候需要...
error2:
需要安装zlib
sudo apt-get install zlib1g-dev
error3:
checking for suffix of object files... configure: error: in `/home/manu/gcc/gcc/i686-pc-linux-gnu/libgcc':
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.
在环境变量添加
// 下面的各个路径由自己安装版本和路径决定...
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-1.1.0/lib:/usr/local/gmp-6.1.2/lib:/usr/local/mpfr-4.0.2/lib:/usr/local/isl/lib:/usr/local/lib:/usr/lib/x86_64-linux-gnu
但我这么做了也是没有用的... 在错误目录下查看日志发现是因为
error while loading shared libraries: libmpfr.so.6: cannot open shared object file: No such file or directory
所以我把这几个依赖文件的lib文件夹下的所有so文件都cp到了/usr/lib
中了 暂时这个问题就解决了(就是这个坑爹的问题弄了好久...)
然后开始安装vlfeat就行了
error1
image.png
在toolbox/mexutils.h
文件中将EXTERN_C改成extern就好了... 不知道这个关键字是哪来的...
最后按照教程进行matlab相关操作即可a
网友评论