c - 在 Mac OS X 上安装第三方 C 库

标签 c linux macos

我想在 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/

相关文章:

c - Fortran 模块与在 C 中访问的过程相结合,反之亦然

c - 使用 realloc() 获得精确数量 vs malloc() 获得太多

使用 Qemu 进行 Linux 内核开发?

linux - 如何在一行中搜索一个字符串,然后从那里删除到行尾

macos - fslogger : ioctl error : Bad Address

c - 如何在 c 中的两个程序之间共享库

c - 将不同类型字符的字符串拆分为单独的字符串

linux - 为什么在linux & jdk1.6.0_32中JVM不能自动扩充堆内存到配置的Xmx3072m,而且FullGC很频繁

python - django-celery 或 python 的奇怪错误

objective-c - NSTask 产生顶级进程。如何提取数据?