2010-03-03 117 views
2

我在使用c编写linux代码。当试图编译,我得到这样的响应:为什么我不能在Linux中使用我的GMP库

/tmp/ccW8mQDx.o: In function `main': 
server.c:(.text+0x3e): undefined reference to `__gmpz_set_str' 
server.c:(.text+0x5a): undefined reference to `__gmpz_set_str' 

事实上,GMP是我用过的所有功能无法找到。

似乎gmp有一些问题。

任何人都可以请告诉我如何解决它?提前致谢!

+2

你能展示你的构建和链接命令吗?我想你可能没有链接任何库包含该符号。 – 2010-03-03 04:04:25

+0

我只是使用gcc server.c -o服务器...我还应该添加什么? – allenzzzxd 2010-03-03 04:10:50

回答

4

当您忘记链接您的应用程序与图书馆,GMP在这种情况下出现undefined reference错误。在GMP文档中读取要链接的库的名称,并使用-l编译器开关将其链接。

你试过-lgmp吗?

如果不工作,你可以查找libgmp.a库:

cd /usr 
find . -name libgmp.a -print 
+0

如果这不起作用,还需要添加'-L/path/to/directory/contained/libgimp.so'这个添加到库搜索路径 – cobbal 2010-03-03 04:13:39

+0

-lgmp的作品,非常感谢 – allenzzzxd 2010-03-03 04:24:33

0

添加-l选项,当你编译代码。它会添加库文件。

相关问题