加载.so文件时未加载.dylib文件

时间:2017-04-25 11:47:45

标签: c redis shared-libraries dylib

我想在redis中使用INCR超过其最大值9,223,372,036,854,775,807。所以我使用gmp.h编写了一个redis模块C代码。在C代码中,我读取键中的值(要递增的键),并使用gmp.h中的函数递增,然后写回相同的键。

我创建.o文件然后.so文件,它在我的mac中正常工作。当我把.so文件交给我的朋友时,.so文件没有加载,并且出现了错误。

  

未加载库:/usr/local/lib/libgmp.10.dylib

我猜这发生了,因为我的朋友没有在她的mac中安装gmp

但我认为它会起作用。有没有办法让它在我朋友的macbook中工作而不安装库?

用于创建.o和.so文件的命令

gcc -dynamic -fno-common -std=gnu99 -c -o mycommand.o mycommand.c
ld -o mycommand.so mycommand.o -bundle -undefined dynamic_lookup -lc -lgmp

0 个答案:

没有答案