mex ranH.c时一直链接错误。
原来mex在编译多个文件时要把所有的C文件都列出来。命令如下:
mex loransacH.mex.c ranH.c utools.c Htools.c lapwrap.c matutl.c
rtools.c -I'D:\lapack\headers\lapack' -L'D:\lapack' -
lcbia.lib.lapack.dyn.rel.x64.12.lib -lcbia.lib.blas.dyn.rel.x64.12.lib
在linux,链接lapack-3-6-0,
1、makefile
#lib: lapacklib tmglib
lib: blaslib variants lapacklib tmglib
2、执行
./lapack_testing.py
make: execvp: ./lapack_testing.py: 权限不够
make: *** [lapack_testing] 错误 127
chmod +x lapack_testing.py
3 继续make
4、make完将liblapack.a、libblas.a、libtmglib.a重命名为:lapack.a、blas.a、tmglib.a。
5、mex命令:
mex loransacH.mex.c ranH.c utools.c Htools.c lapwrap.c matutl.c rtools.c -L'/home/pengshengfeng/mproject/lapack-3.6.0' -llapack -lblas
如果没有第四步:会出现的错误,可能和其他已经安装的库同名字了,或者其他原因,因为对linux暂时不是很熟悉,也可能是其他原因。
/usr/bin/ld: cannot find -libtmglib
/usr/bin/ld: cannot find -librefblas