【问题标题】:Error compiling GMP code in Fedora在 Fedora 中编译 GMP 代码时出错
【发布时间】:2017-10-22 09:28:44
【问题描述】:

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

#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;
}

我收到以下错误消息:

fatal error: gmp-x86_64.h: No such file or directory
#include "gmp-x86_64.h"
compilation terminated.

我已经安装了 gmp 库,当我执行 whereis gmp 时,我得到:

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

并寻找 gmp-devel:

当我 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-devel:

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

【问题讨论】:

    标签: gmp fedora-26


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢我尝试过并更新了我的问题。但是,仍然没有运气!
    • 谢谢!如果我通过 dnfdragora 对话框安装了 gmp-devel,这将有效。
    猜你喜欢
    • 2016-04-12
    • 1970-01-01
    • 2013-07-23
    • 2011-01-22
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多