在Fedora中编译GMP代码时出错

时间:2017-10-22 09:28:44

标签: gmp fedora-26

当我尝试在Fedora 26 Cinnamon edition 64位中运行以下代码时:

\b

我收到以下错误消息:

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


int main(int argc, char * argv[]){

    mpz_t a, b, c;

    mpz_init_set_ui(a,1); /*  a = 1  */
    mpz_init_set_ui(b,1); /*  b = 1  */
    mpz_init(c);

    for (int i=1; i <= 2 ; ++i){
        mpz_add(c,a,b); /* c = a + b */
        mpz_mul_ui(a,b,1);
        mpz_mul_ui(b,c,1);
    }

    mpz_out_str(stdout,10,c);
    printf ("\n");
    mpz_clear(a);
    mpz_clear(b);
    mpz_clear(c);

    return 1;
}

我安装了gmp库,当我fatal error: gmp-x86_64.h: No such file or directory #include "gmp-x86_64.h" compilation terminated. 时,我得到了:

whereis gmp

寻找gmp-devel:

当我gmp: /usr/include/gmp.h /usr/share/info/gmp.info-1.gz /usr/share/info/gmp.info.gz /usr/share/info/gmp.info-2.gz 时,我得到:

dnf install gmp-devel

然而,当我Last metadata expiration check: 1:48:01 ago on Sun 22 Oct 2017 09:09:57 AM BST. Package gmp-devel-1:6.1.2-4.fc26.i686 is already installed, skipping. Dependencies resolved. Nothing to do. Complete! 时,我只得到:

whereis gmp-devel

知道为什么我的系统无法识别GMP库吗?

1 个答案:

答案 0 :(得分:2)

确保在系统中安装了gmp-devel。它提供了使用gmp编译应用程序所需的文件。

您报告的错误显示缺少的头文件(* .h),这些文件通常在-devel(或-dev,取决于分发)中分发。