Ошибка конфигурации SpatialLite для Android NDK Geos - PullRequest
1 голос
/ 24 февраля 2012

Я пытаюсь построить следующий проект для Android:

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

Кто-нибудь знает, почему могут быть ошибки при запуске ndk-build для LineIntersector.cpp?

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

Я пытаюсь скомпилировать это на Mac, и я новичок в NDK. Вот мои настройки, которые я запускаю в корне geos

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

Ошибка, по-видимому, связана с функцией ISNAN

Ответы [ 2 ]

1 голос
/ 27 февраля 2012

Я успешно построил этот проект на Win7, среде cygwin, взгляните на: http://code.google.com/p/spatialite-android/issues/detail?id=3

0 голосов
/ 27 февраля 2012

На данный момент вы можете строить только на Ubuntu.Шаг, на котором вы запускаете ./configure, является проблемой на других платформах.Я разместил последние двоичные файлы в разделе загрузки.Вы можете открыть apk и скопировать файлы .so.

Мне удалось получить geos для сборки на моем Mac, отредактировав /source/headers/geos/platform.h

/* 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
...