【问题标题】:Why I cannot use my GMP library in Linux为什么我不能在 Linux 中使用我的 GMP 库
【发布时间】:2010-03-03 04:03:31
【问题描述】:

我在 linux 中使用 c 编写了一些代码。当试图编译时,我得到了这个响应:

/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 好像有问题。

谁能告诉我怎么解决?提前致谢!

【问题讨论】:

  • 你能显示你的构建和链接命令吗?我猜你可能没有链接到包含该符号的任何库。
  • 我只是使用 gcc server.c -o server... 我还应该添加什么?

标签: c linux gmp


【解决方案1】:

undefined reference 错误出现在您忘记将您的应用程序与库(在本例中为 GMP)链接 时。在 GMP 的文档中阅读要链接的库的名称,并使用 -l 编译器开关来链接它。

你试过-lgmp吗?

如果这不起作用,您可以查找 libgmp.a 库:

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

【讨论】:

  • 如果这不起作用,还要添加 -L/path/to/directory/containing/libgimp.so 以添加到库搜索路径
【解决方案2】:

在编译代码时添加 -l 选项。它将添加库文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-07
    • 1970-01-01
    • 1970-01-01
    • 2011-01-14
    • 1970-01-01
    • 2021-03-29
    • 2023-01-10
    相关资源
    最近更新 更多