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