为什么程序找不到与该程序位于同一目录中的库?

时间:2020-06-03 21:29:50

标签: python

我正在尝试启动并运行GitHub上的程序。当我运行附带的setup.py程序时,收到以下错误消息:

/usr/bin/ld: cannot find -lmpfit
collect2: error: ld returned 1 exit status
error: command 'x86_64-linux-gnu-g++' failed with exit status 1

即使我将mpfit目录与setup.py放在同一目录中,也会发生这种情况。 我在Windows 10和Python 2.7上使用Ubuntu。

有人知道我可能会缺少什么吗?谢谢!

1 个答案:

答案 0 :(得分:2)

如果要链接到libmpfit.so(基本上是-lmpfit的意思),通常认为最好将其安装在共享库的标准目录中。通常是/usr/local/lib

如果libmpfit用C或C ++编写,则可能需要先编译并安装它,然后才能使用它。 (除非您下载了预构建的二进制文件。)

如果Ubuntu为libmpfit提供了一个软件包,我建议您使用它,因为在那种情况下,为Ubuntu打包软件的人为您做了艰苦的工作。这样的软件包会将文件安装在适合您的位置。

如果必须自己构建libmpfit,请解压源软件包。该文件通常包含一个名为README或INSTALL的文本文件,该文件将告诉您如何构建和安装该库。仔细阅读;您可能需要其他库或工具来构建libmpfit