微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使MPFR建立在cygwin的基础上

如何解决使MPFR建立在cygwin的基础上

| 我一整天都按照 http://cygwin.wikia.com/wiki/How_to_install_GCC_4.3.0 在gcc make步骤中,它告诉我,无论出于何种原因,都需要一个c ++编译器才能继续运行, 因此,我以通常的方式更新了Cygwin,并获得了gcc-c ++。 之后,cygwin帮我删除了之前安装的3个prereq库, 所以我去改造它们。 GMP运行良好,然后我进入了MPFR。无论出于何种原因,MPFR都会引发此错误
configure: error: libgmp not found or uses a different ABI.
资源在这里提到此错误。 我很确定它可以像cygcheck一样找到GMP,没问题,而且配置甚至提到找到它。 当我尝试:
./configure --with-gmp-build=/gmp/,
它抛出:
error: header files gmp-impl.h and longlong.h not found
到目前为止,尽管进行了谷歌搜索并尝试了数小时,但我仍无法使MPFR正常工作。 MPC也无法以常规方式找到GMP。 我还尝试过仅将库移交给子目录中的GCC,并使其进行编译。 当我尝试这样做时,它进入make步骤,然后抛出一个“ 3”错误并失败。没有错误或任何描述。 我不知道还有什么尝试。     

解决方法

我知道这篇文章有些过时了,但是我一直在寻找类似情况的答案或结果,但是具有相同库的最新版本。在阅读这篇文章中的一些建议以及其他在线材料时,我能够将所有内容组合在一起。因此,对于任何可能使用最新版本的人来说,它都是:   首先,您可能想先为C和C ++配置,制造和安装GMP作为静态库。还请注意x86或x64体系结构。一旦运行make,进行检查,进行安装;并且您确信没有错误,那么当您配置MPFR时,您将需要像这样运行它:
./configure --with-gmp-build=/path/to/gmp --enable-static --disable-shared
如果正确设置了路径,则应该为您提供所需的生成文件。 我是Unix-Posix环境和命令的新手,也是Cygwin的新手。我主要使用Windows平台,很少使用Mac或Apple。事实上,在我尝试做同样的事情的时候,我只花了不到一周的时间。因此,现在我正在尝试进入一个Unix的全新世界……但是由于我仍在运行Windows,因此可以通过Cygwin进行模拟。 我正在尝试从最新的原始发行版中构建GMP,MPIR,MPFR和MPFRC ++,最终将尝试将它们集成到Visual Studio 2017中。 我之所以找到这个帖子,是因为我能够借助python和vyasm在Visual Studio中构建MPIR,但是对于GMP,我需要Cygwin和GCC。我花了一些时间弄清楚如何正确构建GMP,但是一旦我完成并运行了测试,我就能够通过0次失败的测试。然后,我开始与您一样使用MPFR。 我的类似问题是在我默认运行./configure之后,它提示我找不到libgmp。另外,如果我尝试调用make,它将不起作用,因为make文件不存在。这使我回到做Google搜索的过程中……在寻找提示,建议等时,我遇到了这个问题。当我阅读此Q / A,安装文件,一些其他的FAQ甚至是另一个网站时,我能够将所有内容组合在一起,而我发现上述建议是可行的。 您不仅需要设置标志--with-gmp-build,还需要设置构建gmp的相应库类型,还需要确保架构类型也匹配。他们需要具有相同的匹配ABI。 嗯,就在我要结束输入此答案的同时,使检查刚通过Cygwin运行,结果如下:
Testsuite summary for MPFR 4.0.1
============================================================================
# TOTAL: 180
# PASS:  180
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================
我希望这能够帮到你。唯一的事情是我自己;我必须回过头来,并且可能从一开始就重新运行所有这些操作,包括GMP,只是因为我相信我只做过GCC而不是G ++,而我的下一步是尝试构建MPFRC ++。 然后,我可能会尝试从这里开始做一些相关的库。我的第一阶段是尝试通过Cygwin和GCC / G ++来构建它们。下一步将尝试将其移植到Visual Studio 2017。     ,编译并安装gmp之后,在正确设置库搜索路径之前,我在构建mpfr时遇到了相同的问题:
export LD_LIBRARY_PATH=/usr/local/lib
export LIBRARY_PATH=/usr/local/lib
export CPATH=/usr/local/include
如http://cygwin.wikia.com/wiki/How_to_install_GCC_4.3.0中所述     ,代替这个:
./configure --with-gmp-build=/gmp/
用这个:
./configure --with-gmp-build=/gmp
它不喜欢在结尾加上\“ / \”。     ,您可能要使用--with-gmp-lib = / path / to / gmp / lib / dir     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。