SpatialLite for Android NDK Geos配置错误

时间:2012-02-24 13:12:45

标签: android android-ndk geospatial geos spatialite

我正在尝试为Android构建以下项目:

http://code.google.com/p/spatialite-android/

有没有人知道为什么在为LineIntersector.cpp运行ndk-build时可能会出错?

jni/geos-3.2.2/source/algorithm/LineIntersector.cpp:223: error: expected unqualified-id before '(' token

我正在运行尝试在Mac上编译它,我是NDK新手。这是我在geos root中运行的配置

./configure --build=i686-android-linux-gnu --host=arm-linux-eabi

错误似乎与ISNAN功能

有关

2 个答案:

答案 0 :(得分:1)

我在Win7,cygwin环境下成功构建了这个项目,看看: http://code.google.com/p/spatialite-android/issues/detail?id=3

答案 1 :(得分:0)

目前你只能在Ubuntu上构建。运行./configure的步骤是其他平台上的问题。我在下载部分发布了最新的二进制文件。你可以打开apk并复制.so文件。

通过编辑/source/headers/geos/platform.h,我能够在我的Mac上构建地理位置

/* Set to 1 if you have `int64_t' type */
/* #undef HAVE_INT64_T_64 */

/* Set to 1 if `long int' is 64 bits */
/* #undef HAVE_LONG_INT_64 */

/* Set to 1 if `long long int' is 64 bits */
/* #undef HAVE_LONG_LONG_INT_64 */

/* Set to 1 if you have ieeefp.h */
/* #undef HAVE_IEEEFP_H */

/* Has finite */
#define HAVE_FINITE 1

/* Has isfinite */
/* #undef HAVE_ISFINITE */

/* Has isnan */
#define HAVE_ISNAN 1