Androd NDK編譯報錯

2021-09-24 10:27:51 字數 2038 閱讀 4496

報錯:

value too large for defined data type
詳細資訊:

compile thumb : test <= testjni.c

cc1: error: /mnt/hgfs/ubuntu12.04-share/include: value too large for defined data type

cc1: error: .: value too large for defined data type

make: *** [obj/local/armeabi/objs/test/./src/test.o] error 1

root@ubuntu:/mnt/hgfs/ubuntu12.04-share#

報錯原因:

ndk版本太低,公升級ndk版本即可。

android-ndk-r8公升級到android-ndk-r14b

root@ubuntu:/usr/local/ndk# ls

android-ndk-r14b android-ndk-r14b-linux-x86_64.zip android-ndk-r8 android-ndk-r8-linux-x86.tar.tar

root@ubuntu:/usr/local/ndk#

環境變數配置檔案:~/.bashrc:

#ndk

export path=/usr/local/ndk/android-ndk-r14b/:$path

#export path=/usr/local/ndk/android-ndk-r8/:$path

報錯退出。使用source ~/.bashrc命令更新環境變數即可。

報錯:

clang++: error: linker command failed with exit code 1 (use -v to see invocation)
詳細報錯:

[arm64-v8a] compile: test <= testjni.c

[arm64-v8a] sharedlibrary : libtest.so

[arm64-v8a] install: libtest.so => libs/arm64-v8a/libtest.so

[x86_64] compile: test <= testjni.c

[x86_64] sharedlibrary : libtest.so

/usr/local/ndk/android-ndk-r14b/toolchains/x86_64-4.9/prebuilt/linux-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/bin/ld: fatal error: ./obj/local/x86_64/libtest.so: input/output error

clang++: error: linker command failed with exit code 1 (use -v to see invocation)

make: *** [obj/local/x86_64/libtest.so] error 1

root@ubuntu:/mnt/hgfs/ubuntu12.04-share#

報錯原因有很多。

我遇到的情況有:

1、工程檔案所在目錄是共享資料夾目錄,導致編譯器找不到庫。

>>該情況,只需要把工程檔案,拷貝到不是共享的目錄就可以。(和廢話一樣)
2、c工程中,呼叫了標準庫,比如sqlite3和pthread庫。編譯時找不到庫時,也會報上述錯誤。

>> 該情況,應該需要自己通過ndk編譯庫。

>> 而且需要說明的是,ndk並不支援pthread執行緒。(這個報錯,我還沒解決,下來再更新)

3、肯定還有其他原因,暫時沒遇到。

gradle編譯報錯

同事發過來乙個專案莫名編譯不通過 報錯資訊 a problem occurred configuring project library org.gradle.api.internal.tasks.defaulttaskinputs taskinputunionfilecollection cann...

Nginx編譯報錯

centos 6.4 下 安裝 nginx 執行配置命令 configure 時提示以下錯誤 解決方法 執行以下命令 yum y install zlib zlib devel openssl openssl devel pcre pcre devel configure error ssl mod...

Android 編譯報錯

20180516 編譯android報錯 including vendor mstar supernova projects android.mk export includes file external bluetooth bluedroid hci android.mk out target ...