Spatialllite per l'errore di configurazione di Android NDK GEOS
-
12-11-2019 - |
Domanda
Sto cercando di costruire il seguente progetto per Android:
http://code.google.com/p/spatialite-android/
Qualcuno sa perché potrebbero esserci errori quando si esegue NDK-Build per LineintersEctor.CPP?
jni/geos-3.2.2/source/algorithm/LineIntersector.cpp:223: error: expected unqualified-id before '(' token
Sto correndo prova a compilare questo su un Mac e sono un principiante NDK. Ecco la mia configurazione che eseguo nella radice di Geos
./configure --build=i686-android-linux-gnu --host=arm-linux-eabi
L'errore sembra essere con la funzione isnan
Soluzione
Al momento puoi costruire solo su Ubuntu. Il passo in cui corri ./configure
è il problema su altre piattaforme. Ho pubblicato gli ultimi binari nella sezione Download. È possibile aprire l'APK e copiare i file .so.
Sono stato in grado di convincere GEOS a costruire sul mio Mac mediante modifica /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
Altri suggerimenti
Ho costruito questo progetto con successo su Win7, Cygwin Environment, DARE uno sguardo:http://code.google.com/p/spatialite-android/issues/detail?id=3