尝试设置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/

10-13 04:10