我正在尝试运行一个C ++项目,该项目也依赖于PBC(https://crypto.stanford.edu/pbc/)和GMP(https://gmplib.org)。我在/ usr / local /目录中安装了PBC和GMP。对于这个项目,我手动添加了PBC(pbc-0.5.14)和GMP(gmp-6.1.0)库(我将这些库拖到我的项目中)。
当我在Xcode(版本7.2)中将-lgmp -lgmpxx标志添加到其他链接器标志时,我得到了这个:
ld: library not found for -lgmp
clang: error: linker command failed with exit code 1 (use -v to see invocation)
当我在没有其他链接器标志的情况下构建(和清理)时,我得到了:
Undefined symbols for architecture x86_64:
"_pairing_clear", referenced from:
Member::~Member() in member.o
Manager::~Manager() in manager.o
Verifier::~Verifier() in verifier.o
"_pairing_init_set_str", referenced from:
Member::Member() in member.o
Manager::Manager() in manager.o
Verifier::Verifier() in verifier.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
有没有人知道如何解决此问题或任何建议? 感谢。
答案 0 :(得分:0)
在我的Ubuntu 15.10(64)上,libgmp已安装到
中> /usr/lib/i386-linux-gnu/libgmp.so.10
> /usr/lib/i386-linux-gnu/libgmp.so.10.2.0
> /usr/lib/i386-linux-gnu/openssl-1.0.0/engines/libgmp.so
> /usr/lib/x86_64-linux-gnu/libgmp.a /usr/lib/x86_64-linux-gnu/libgmp.so
> /usr/lib/x86_64-linux-gnu/libgmp.so.10
> /usr/lib/x86_64-linux-gnu/libgmp.so.10.2.0
> /usr/lib/x86_64-linux-gnu/libgmpxx.a
> /usr/lib/x86_64-linux-gnu/libgmpxx.so
> /usr/lib/x86_64-linux-gnu/libgmpxx.so.4
> /usr/lib/x86_64-linux-gnu/libgmpxx.so.4.4.0
我发现这个使用命令“locate libgmp”。 (找到searchb更新的内容。)
你说你在本地“安装”了吗?我运行安装没有任何选项。也许你的链接器没有被告知在哪里寻找libs?也许添加“-L”本地位置'?
希望这会有所帮助......