在 14.04 上尝试编译 geos 时出现“没有 isnan 函数或宏则无法编译”

在 14.04 上尝试编译 geos 时出现“没有 isnan 函数或宏则无法编译”

使用在 ubuntu 12.04 上构建 geos 的程序,我尝试在 14.04 上构建 geos 并收到错误“如果没有 isnan 函数或宏则无法编译“何时make执行。

sudo apt-get -y install build-essential

wget http://download.osgeo.org/geos/geos-3.4.2.tar.bz2

tar xvfj geos-3.4.2.tar.bz2
cd geos-3.4.2
./configure
make 

由于某种原因,该isnan()宏似乎在 14.04 上不可用,我该如何编译它?

答案1

如果所有现有的答案都对您没有帮助,就像我的情况一样,您可以尝试确保在编译时定义宏。

当你确定了应该确保宏可以被编译的包含项后就我而言Coordinate.inl

在此处输入图片描述

如果是geos-3.3.3宏定义在platform.h

平台.h

只需更换第 24 行, 和:

#define HAVE_ISNAN 1

完成。我真的希望你在选择这个答案之前能从其他答案中获得帮助,但它肯定能解决提出的问题。

答案2

我也遇到了同样的问题。对我来说,这是由以下步骤引起的

  • 。/配置
  • 制作
  • 发现缺少的 g++ 并安装它:sudo aptitude install g++
  • 制作

问题在于 configure 根据所安装的工具做出了一些决定,但这些决定是错误的。解决方案是在安装 g++ 后重新运行 configure。

@user224082 虽然 Ubuntu 14.04 提供了 libgeos,但它不提供 PHP 绑定,因此如果您需要这些,您仍然必须手动编译。

答案3

libgeos-3.4.2位于Ubuntu 主仓库适用于 Ubuntu 14.04。因此您不需要执行困难的编译方法。

libgeos-3.4.2及其所需的软件包可以使用以下命令安装:

sudo apt-get install libgeos-3.4.2 libgeos-c1 libgeos-dbg libgeos-dev libgeos-doc libgeos-ruby1.8 ruby-geos libgeos++-dev

相关内容