> 데이터 베이스 > MySQL 튜토리얼 > Sqlite3 交叉编译 undefined reference to `fdatasync' 错误解决

Sqlite3 交叉编译 undefined reference to `fdatasync' 错误解决

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-06-07 17:06:31
원래의
1361명이 탐색했습니다.

Sqlite3 交叉编译 undefined reference to `fdatasync

交叉编译sqlite到Android平台, Android.mk 文件内容如下:

LOCAL_PATH:= $(call my-dir)

INCDIR:=/home/android-ndk-r6b/sources/cxx-stl/gnu-libstdc++/libs/armeabi/include

# first lib, which will be built statically
#
include $(CLEAR_VARS)

LOCAL_MODULE    := cloudstore_MTD
LOCAL_SRC_FILES := debug.c  hash.c  fusex.cpp  listex.c  storex.cpp  md5.c main.c  markup.cpp  http_fet
cher.c spthreadpool.c

LOCAL_C_INCLUDES := /home/fuse-2.8.3/include /home/sqlite-autoconf-3070500  /home/android-ndk-r6b/platf
orms/android-9/arch-arm/usr/include /home/android-ndk-r6b/sources/cxx-stl/gnu-libstdc++/include /home/a
ndroid-ndk-r6b/samples/fuse-android/jni/include $(INCDIR)

LOCAL_CFLAGS :=-Wall -lulockmgr -pipe -D_FILE_OFFSET_BITS=64 -D_DEBUG -DANDROID_SDK -DUSE_OPEN -DUSE_TH
READ -DDEBUG -O2
LOCAL_CPPFLAGS :=

include $(BUILD_EXECUTABLE)

在jni目录下面执行  /home/android-ndk-r6b/ndk-build  , 编译, 总是出现如下错误:

[root@localhost jni]# /home/android-ndk-r6b/ndk-build
Compile thumb  : sqlite3_android Compile thumb  : sqlite3 StaticLibrary  : libsqlite3.a
Executable     : sqlite3_android
/home/android-ndk-r6b/samples/sqlite-android/obj/local/armeabi/libsqlite3.a(sqlite3.o): In function `unixSync':
sqlite3.c:(.text.unixSync+0x6): undefined reference to `fdatasync'
sqlite3.c:(.text.unixSync+0x14): undefined reference to `fdatasync'
collect2: ld returned 1 exit status
make: *** [/home/android-ndk-r6b/samples/sqlite-android/obj/local/armeabi/sqlite3_android]

搜索了好多地方,, 找解决问题的办法, 最后还是在官方bug列表里面找到了, 原来是一个bug, 下来就下载了最新的版本后, 重新编译, 问题解决。

最新的版本为   sqlite-autoconf-3070800.tar.gz

linux

관련 라벨:
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿