本文介绍了GMP使用MinGW在Windows的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我设法成功地建立在我的Windows 7(64位计算机)的GMP库。我遵循的步骤是:

  ./配置--enable_cxx --disable静电--enable-共享 -  preFIX =/ C / MinGW的
使
使安装
做检查

所有的测试顺利通过。很显然,我在那里有可能编译和运行程序的GMP点。但是,当我尝试编译下面的程序:

 的#include<&stdlib.h中GT;
#包括LT&;&string.h中GT;
#包括LT&;&stdio.h中GT;
#包括LT&;&gmp.h GT;字符*的progname;无效print_usage_and_exit()
{
    fprintf中(标准错误,用法:%s的-q NNN \\ n,将progname);
    fprintf中(标准错误,用法:%s的NNN ... \\ N的progname);
    出口(-1);
}INT主(INT ARGC,字符** argv的)
{
    mpz_t N;
    INT I;    将progname =的argv [0];    如果(的argc 2)
        print_usage_and_exit();    mpz_init(N);    如果(的argc == 3和;&放大器;的strcmp(的argv [1],-q)== 0)
    {
        如果(mpz_set_str(N,的argv [2],0)!= 0)
            print_usage_and_exit();
        出口(mpz_probab_prime_p(N,25)== 0);
    }    对于(i = 1; I< ARGC,我++)
    {
        INT结果;
        如果(mpz_set_str(N,的argv [I],0)!= 0)
            print_usage_and_exit();
        结果= mpz_probab_prime_p(N,25);
        mpz_out_str(标准输出,10,N);
        如果(结果== 0)
            看跌期权(是合);
        否则,如果(结果== 1)
            看跌期权(是一个可能的素数);
        否则/ *结果== 2 * /
            看跌期权(是素);
    }
    出口(0);
}

使用以下命令:

 的gcc -m32 -lgmp的main.c

我收到以下错误:

  C:\\用户\\亚历克斯\\应用程序数据\\本地的\\ Temp \\ cc2ZHzEt.o:main.c中:(文字+ 0x7f)中的:未定义的参考`_imp____gmpz_init
C:\\用户\\亚历克斯\\应用程序数据\\本地的\\ Temp \\ cc2ZHzEt.o:main.c中:(文字+ 0xc3):未定义的参考`_imp____gmpz_set_str
C:\\用户\\亚历克斯\\应用程序数据\\本地的\\ Temp \\ cc2ZHzEt.o:main.c中:(文字+ 0xe2):未定义的参考`_imp____gmpz_probab_prime_p
C:\\用户\\亚历克斯\\应用程序数据\\本地的\\ Temp \\ cc2ZHzEt.o:main.c中:(文字+ 0x12b):未定义的参考`_imp____gmpz_set_str
C:\\用户\\亚历克斯\\应用程序数据\\本地的\\ Temp \\ cc2ZHzEt.o:main.c中:(文字+ 0x14a):未定义的参考`_imp____gmpz_probab_prime_p
C:\\用户\\亚历克斯\\应用程序数据\\本地的\\ Temp \\ cc2ZHzEt.o:main.c中:(文字+量0x170):未定义的参考`_imp____gmpz_out_str
C:/ MinGW的/ bin中/../ lib中/ GCC / mingw32的/ 4.7.2 /../../../../的mingw32 /斌/ ld.exe:C:\\用户\\亚历克斯\\应用程序数据\\本地\\ TEMP \\ cc2ZHzEt.o:在第`.eh_frame坏RELOC地址为0x20
C:/ MinGW的/ bin中/../ lib中/ GCC / mingw32的/ 4.7.2 /../../../../的mingw32 /斌/ ld.exe:最后一个环节失败:无效操作
collect2.exe:错误:LD返回1退出状态

谁能告诉我在做什么错?我做我的谷歌搜索,和几个太多时间后,你可以提供任何帮助将是AP preciated。谢谢!


解决方案

Try gcc -m32 main.c -lgmp

这篇关于GMP使用MinGW在Windows的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-10 18:32