我想在 Mac OS X 上安装第三方 C 库 ( http://cgm.cs.mcgill.ca/~avis/C/lrs.html )。但是,二进制文件似乎无法安装在 Mac OS X (10.9.5) 上。该库适用于 Unix/Linux 平台。
以下是我在尝试安装 make
文件时遇到的几个错误示例。首先,这是开箱即用运行 make all
时的错误(出于某种原因,运行 make all64
什么都不做):
ld: library not found for -lgmp
我在 /opt/local
中通过 MacPorts 安装了 GMP 库 ( https://gmplib.org/ )。但是,似乎没有找到该库:
cc 2nash-GMP.o -L. -llrsgmp -L/opt/local/include -lgmp -o 2nash
ld: library not found for -lgmp
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [2nash] Error 1
rm 2nash-GMP.o
如何绕过所有这些问题并在 Mac 上安装?
我会提到我打算在我编写的某些 (Matlab) 代码的函数中多次调用此 C 库中的函数。我更喜欢任何潜在的解决方案来实现这一点。
更新#1: 我已经做了以下事情:
- 在 makefile 中,将
LIBDIR
从/usr/lib
更改为/opt/local/lib
- 在 makefile 中,将
INCLUDEDIR
从/usr/include
更改为/opt/local/include
- 将
gmp.h
文件从/opt/local/include
复制到/usr/include
- 在 makefile 中,将
RANLIB ?=/bin/true
更改为RANLIB ?=/usr/bin/true
现在,当我运行 make all
时,我收到以下消息:
make: Nothing to be done for `all'.
还应该采取哪些其他步骤?
最佳答案
我想你会想要这样的东西:
cc 2nash-GMP.o -L. -llrsgmp -I/opt/local/include -L/opt/local/lib -lgmp -o 2nash
-I
选项指定要包含的 header 的路径。 -L
选项指定要包含的库文件的路径。
关于c - 在 Mac OS X 上安装第三方 C 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30942685/