2012-02-24 23 views
1

我試圖建立下列項目的Android:SpatialLite爲Android NDK GEOS配置錯誤

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

有誰知道爲什麼運行NDK,建立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功能

+0

創建一個問題來跟蹤問題。 https://code.google.com/p/spatialite-android/issues/detail?id=5 – Frohnzie 2012-02-27 02:01:34

回答

0

在你只能建立在Ubuntu的時刻。您運行./configure的步驟是其他平臺上的問題。我已經在下載部分發布了最新的二進制文件。你可以打開apk並複製.so文件。

我可以通過編輯/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 
+0

這必須在運行./configure後完成。修改platform.h後,運行ndk-build工程。謝謝 – tetriscodes 2012-02-27 22:29:08