未定义的参考,gmp lib

发布于 2024-11-14 01:47:42 字数 674 浏览 3 评论 0原文

我通过 cygwin 的安装程序在 cygwin 中安装了 gmp 库。我尝试用 gcc 编译一个简单的程序。

#include <stdio.h>
#include <stdlib.h>
#include <gmp.h>


int
main(void)
{
    mpz_t test;
    int i;

    printf("enter number\n");
    gmp_scanf("%Z",&test);
    gmp_printf("test=%Z",test);
    i=mpz_probab_prime_p(test,5);
    if(i)
        printf("prime\n");
    else
        printf("not prime\n");
    return 0;
}

但我得到了这个:

 /cygdrive/c/Users/xxxxx/Documents/NetBeansProjects/rsa_system/main.c:13: undefined reference to  `__imp____gmp_scanf'

这是我第一次尝试使用非标准库,我在这里感到困惑。我的编译器设置为 Cygwin,并且我已经完成了所有安装部分。关于可能出什么问题的任何想法吗?谢谢。

I installed the gmp libraries in cygwin via its installer. I tried to compile a simple program with gcc.

#include <stdio.h>
#include <stdlib.h>
#include <gmp.h>


int
main(void)
{
    mpz_t test;
    int i;

    printf("enter number\n");
    gmp_scanf("%Z",&test);
    gmp_printf("test=%Z",test);
    i=mpz_probab_prime_p(test,5);
    if(i)
        printf("prime\n");
    else
        printf("not prime\n");
    return 0;
}

But I got this:

 /cygdrive/c/Users/xxxxx/Documents/NetBeansProjects/rsa_system/main.c:13: undefined reference to  `__imp____gmp_scanf'

This is the first time that I try to use a non-standard library and I'm getting confused here. My compiler is set to Cygwin and I've done all the installation part. Any ideas on what may be wrong? Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

红ご颜醉 2024-11-21 01:47:42

您是否要求 gcc 链接 GMP?

即:gcc -lgmp main.c ....

Are you asking gcc to link GMP?

i.e.: gcc -lgmp main.c ....

夜巴黎 2024-11-21 01:47:42

另一件需要考虑的事情是在 GMP 库中链接的顺序。如果您先链接 GMP,然后再链接 GMPXX(即 C++ 扩展),那么您就会遇到麻烦。首先链接 GMP,然后链接 GMPXX。

Another thing to think about is the order in which you link in GMP libraries. If you link in GMP first, and then GMPXX (i.e. the C++ extension), then you'll be in trouble. Link in GMP first and then GMPXX.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文