Bash脚本错误NDK-Build

Bash script error NDK-Build

我正在尝试从这个官方存储库 ARToolkit5 GithubRepo.

在我的设备上获取 ARToolkit5 Android 示例和 运行

然后我需要 运行 ./build.sh 来构建库,但我在尝试对 Mac 执行 ./build.sh 时遇到此错误。 请问有人可以帮忙做什么吗?

jni/../../lib/SRC/VideoAndroid/sqlite3.c:24124:40: error: use of undeclared
      identifier 'mmap'
  { "mmap",       (sqlite3_syscall_ptr)mmap,     0 },
                                       ^
jni/../../lib/SRC/VideoAndroid/sqlite3.c:24160:22: error: invalid application of
      'sizeof' to an incomplete type 'struct unix_syscall []'
    for(i=0; i<sizeof(aSyscall)/sizeof(aSyscall[0]); i++){
                     ^~~~~~~~~~
jni/../../lib/SRC/VideoAndroid/sqlite3.c:24169:22: error: invalid application of
      'sizeof' to an incomplete type 'struct unix_syscall []'
    for(i=0; i<sizeof(aSyscall)/sizeof(aSyscall[0]); i++){
                     ^~~~~~~~~~
jni/../../lib/SRC/VideoAndroid/sqlite3.c:24196:20: error: invalid application of
      'sizeof' to an incomplete type 'struct unix_syscall []'
  for(i=0; i<sizeof(aSyscall)/sizeof(aSyscall[0]); i++){
                   ^~~~~~~~~~
jni/../../lib/SRC/VideoAndroid/sqlite3.c:24213:16: error: invalid application of
      'sizeof' to an incomplete type 'struct unix_syscall []'
    for(i=0; i<ArraySize(aSyscall)-1; i++){
               ^~~~~~~~~~~~~~~~~~~
jni/../../lib/SRC/VideoAndroid/sqlite3.c:8590:38: note: expanded from macro
      'ArraySize'
#define ArraySize(X)    ((int)(sizeof(X)/sizeof(X[0])))
                                     ^~~
jni/../../lib/SRC/VideoAndroid/sqlite3.c:24217:14: error: invalid application of
      'sizeof' to an incomplete type 'struct unix_syscall []'
  for(i++; i<ArraySize(aSyscall); i++){
             ^~~~~~~~~~~~~~~~~~~
jni/../../lib/SRC/VideoAndroid/sqlite3.c:8590:38: note: expanded from macro
      'ArraySize'
#define ArraySize(X)    ((int)(sizeof(X)/sizeof(X[0])))
                                     ^~~
[armeabi-v7a] Compile arm    : argsub_es <= gsub_mtx.c
[armeabi-v7a] Compile arm    : argsub_es2 <= gsub_es2.c
[armeabi-v7a] Compile arm    : argsub_es2 <= glStateCache2.c
[armeabi-v7a] Compile arm    : argsub_es2 <= gsub_mtx.c
[armeabi-v7a] Compile arm    : armulti <= arMultiFreeConfig.c
[armeabi-v7a] Compile arm    : armulti <= arMultiGetTransMat.c
[armeabi-v7a] Compile arm    : armulti <= arMultiGetTransMatStereo.c
[armeabi-v7a] Compile arm    : armulti <= arMultiReadConfigFile.c
[armeabi-v7a] Compile arm    : eden <= EdenError.c
[armeabi-v7a] Compile arm    : eden <= EdenGLFont.c
[armeabi-v7a] Compile arm    : eden <= EdenMath.c
[armeabi-v7a] Compile arm    : eden <= EdenMessage.c
6 errors generated.
make: *** [obj/local/armeabi/objs/arvideo/__/__/lib/SRC/VideoAndroid/sqlite3.o] Error 1
make: *** Waiting for unfinished jobs....
Exiting ndk-build script abnormally terminated.

对于每个正在寻找答案的人:

找到文件 sqlite3.c 而不是找到这个文件在哪里(在顶部的某个地方)

_FILE_OFFSET_BITS=64定义然后删除那一行,

保存文件,你就可以开始了。

设置更安全

-DSQLITE_DISABLE_LFS

构建标志 - 它阻止 _FILE_OFFSET_BITS 在 SQLite 代码中定义。

Found solution here