尝试设置Python软件包(mlabwrap)时,出现以下链接错误:
/usr/bin/ld: cannot find -leng
/usr/bin/ld: cannot find -lmx
/usr/bin/ld: cannot find -lmat
/usr/bin/ld: cannot find -lut
构建命令如下所示:
c ++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic函数-Wl,-Bsymbolic函数-Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-原型-D_FORTIFY_SOURCE = 2 -g -fstack-protector -param = ssp-buffer-size = 4 -Wformat -Werror = format-security build / temp.linux-x86_64-2.7 / mlabraw.o -L / usr / local / MATLAB / R2015a / bin / glnx86 -Wl,-R / usr / local / MATLAB / R2015a / bin / glnx86 -leng -lmx -lmat -lut -lstdc ++ -o build / lib.linux-x86_64-2.7 / mlabrawmodule.so
指定目录的grep显示所有必需的共享库都存在:
ls /usr/local/MATLAB/R2015a/bin/glnxa64/ | grep "libeng.so\|libmx.so\|libmat.so\|libut.so"
libeng.so
libmat.so
libmx.so
libut.so
有谁知道链接器为什么不识别必要的库?有没有更好的方法来调试链接器以查看其在哪里寻找这些库?
据我所知,编译字符串的
-L/usr/local/MATLAB/R2015a/bin/glnx86
部分应将链接程序定向到该文件夹。 最佳答案
/usr/local/MATLAB/R2015a/bin/glnx86
不是
/usr/local/MATLAB/R2015a/bin/glnxa64/
注意
a
中的glnxa64
。关于python - ld找不到.so库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32124105/