【问题标题】:Where to find "gmp.h"?在哪里可以找到“gmp.h”?
【发布时间】:2011-11-13 03:39:13
【问题描述】:

我正在安装一个库,并收到以下错误消息:

xxxx@ubuntu$ make
(cd num; make all)
make[1]: Entering directory `/home/xxxx/num'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/xxxx/num'
(cd itv; make all)
make[1]: Entering directory `/home/xxxx/itv'
gcc -Wcast-qual -Wswitch -Werror-implicit-function-declaration -Wall -Wextra -Wundef -Wbad-function-cast -Wcast-align -Wstrict-prototypes -Wno-unused -std=c99 -U__STRICT_ANSI__ -O3 -DNDEBUG -I../num -I../apron -I/usr/include -I/usr/include -DNUM_MPQ -c -o itvMPQ.o itv.c
In file included from itv.h:9:0,
             from itv.c:5:
../num/num.h:15:17: fatal error: gmp.h: No such file or directory
compilation terminated.
make[1]: *** [itvMPQ.o] Error 1
make[1]: Leaving directory `/home/xxxx/itv'
make: *** [c] Error 2

所以问题是它找不到gmp.h,有谁知道这个文件在哪里,以及如何让安装程序找到它?顺便说一句,目前我的Makefile主要指向/usr/usr/local...

Edit1:按照提示安装libgmp3-dev后,当前错误信息为../num/num.h:16:18: fatal error: mpfr.h: No such file or directory,有谁知道是哪个包?

Edit2:我已经按照这个page 安装了MPFR,这确实有帮助,现在错误消息是gmp_caml.c:17:33: fatal error: caml/camlidlruntime.h: No such file or directory,有人可以帮忙吗?

Edit3:我已经完成了apt-file search camlidlruntime,它返回camlidl: /usr/lib/ocaml/caml/camlidlruntime.h,但是我的文件夹/usr/lib/ocaml/caml/中没有camlidlruntime.h,我如何检查我是否安装了@987654335 @?它到底是关于哪个包的?

【问题讨论】:

    标签: c makefile


    【解决方案1】:

    你需要安装 libgmp3-dev

    取决于你的 linux

    yum install  libgmp3-dev
    
    apt-get install  libgmp3-dev
    

    【讨论】:

    • 感谢您的回复...确实有帮助...现在错误是../num/num.h:16:18: fatal error: mpfr.h: No such file or directory,那么您知道它是关于哪个包的吗?
    • 请确保您拥有所有必需的库。你需要根据错误安装GNU MPFR。
    • 如果您花一些时间使用文件名进行谷歌搜索,您会找到文件的包名。
    • 在 Centos 6.5 中是: sudo yum install gmp gmp-devel gmp-status 。在 yum 中搜索 gmp 即可。
    • @thedayturns 感谢您作证。我添加了这个作为答案。
    【解决方案2】:

    在 OS X 上(如果您使用 Homebrew),请执行以下操作:

    brew install gmp
    

    【讨论】:

      【解决方案3】:

      因为您可能出于任何特定原因需要这个 32 位格式的库(就像我一样)

      您需要运行(在 Ubuntu/Debian 上):

      apt-get install  libgmp3-dev:i386
      

      任何库后面的后缀:i386 都会安装它的 32 位版本。

      【讨论】:

        【解决方案4】:

        在 Centos 6.5 中是sudo yum install gmp gmp-devel gmp-status

        专业提示:只需在 yum 中搜索 gmp 并查看 yum 提供的命令。

        【讨论】:

        • 应该阅读 sudo yum install gmp gmp-devel gmp-static not gmp-status 在此之后为我工作并且能够在 Centos 7 上编译,谢谢!
        【解决方案5】:

        我做了很多研究,最后我可以使用以下环境变量编译hue:

            export CPFLAGS="-I/usr/local/include/gmp.h -I/usr/local/opt/openssl/include"
            export CFLAGS="-I/usr/local/include/gmp.h"
            export CXXFLAGS="-I/usr/local/include/gmp.h"
            export LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl/lib"
        
            export PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig"
        

        【讨论】:

          【解决方案6】:

          对我来说这很有效:-

          apt-get install  libgmp3-dev   (Might vary in linux distro; this is for Ubuntu)
          pip3 install gmpy --user
          

          【讨论】:

          • 是的,这是我在 Debian 上缺少的一个。我已经安装了 libgmp-dev,但它没有帮助......
          【解决方案7】:

          这听起来有点愚蠢: 每当我遇到错误时,我都会这样做: sudo apt-get install lib<name_of_library_not_found>-dev 它以某种方式解决了这个问题。 不知道怎么做,跟开发者库什么的有关

          【讨论】:

            猜你喜欢
            • 2012-11-30
            • 2011-08-22
            • 2014-12-14
            • 2012-05-04
            • 2014-01-17
            • 2014-11-01
            • 2011-03-31
            • 2013-07-01
            • 2011-07-12
            相关资源
            最近更新 更多