Yael
Yael is a library implementing computationally intensive functions used in large scale image retrieval,such as neighbor search,clustering and inverted files. The library offers interfaces for C,Python and Matlab.
编译环境
操作系统:Ubuntu 14.04 LTS 编译器: gcc 4.7 Maltab: Matlab R2014b
遇到的问题
1.ubuntu 14.04自带的编译器是gcc4.8 ,编译的时候提示warning 不支持gcc4.8 ,虽然是warning,出于谨 慎考虑,还是安装了gcc4.7。
在命令行输入gcc -v 可以获得的信息如下 gcc version 4.8 如果我们想使用gcc4.7怎么办?首先看看有没有安装gcc4.7, ls /usr/bin/gcc* 结果只有/usr/bin/gcc /usr/bin/gcc-4.8两个,那么我们需要安装 sudo apt-get install gcc-4.7 gcc-4.7-multilib g++-4.7 g++-4.7-multilib 安装好后输入以下指令: sudo update-alternatives –install /usr/bin/gcc gcc /usr/bin/gcc-4.7 50 sudo update-alternatives –install /usr/bin/gcc gcc /usr/bin/gcc-4.8 40 接着输入: sudo update-alternatives –config gcc 会看到如下的选项 有 3 个候选项可用于替换 gcc (提供 /usr/bin/gcc)。 0 /usr/bin/gcc-4.7 50 自动模式 1 /usr/bin/gcc-4.7 50 手动模式 2 /usr/bin/gcc-4.8 40 手动模式
要维持当前值[*]请按回车键,或者键入选择的编号: 要想用哪个gcc就输入编号吧。 同样也要设置一下g++的 sudo update-alternatives –install /usr/bin/g++ g++ /usr/bin/g++-4.7 50 sudo update-alternatives –install /usr/bin/g++ g++ /usr/bin/g++-4.8 40 如果想删除可选项的话可以键入以下指令: sudo update-alternatives –remove gcc /usr/bin/gcc-4.7 再用gcc -v 来看一下版本是否改变了。
可以参考http://blog.csdn.net/d5224/article/details/52261529 2. unknown type name __malloc_ptr_t 这个问题在某一个版本中遇到了,但是在v438版本中应该没有了,这里提一下怎么解决的。 __malloc_ptr_t 是早期glibc中定义的类型,后面取消了,其实是一个void*指针类型。在出错的文件中
typedef __malloc_ptr_t void*
3. 编译matlab接口时 出现undefined reference to ‘ssaupd_’ 一方面我检查了libarpack的安装,使用apt-get 安装了libarpack 另一方面检查依赖库的问题,我将configure.sh中的 arpackldflags=/usr/lib64/libarpack.so.2 改成arpackldflags=/usr/lib/libarpack.so.2 将子文件matlab中的Make.m中的 -lmwarpack从LDFLAGS中移出来,前面类似下面这种
mex -g -largeArrayDims -DFINTEGER=long -lmwblas -lmwlapack -lmwarpack ...
4. swig的安装问题,python的库问题 apt-get 安装swig 命令行 输入which python,可以直接判断你的python (编辑:台州站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|