androidstudio2.3.1 ndk 編譯錯誤error: clang frontend command failed with exit code 70 (use -v to
阿新 • • 發佈:2018-11-27
問題描述
android ndk編譯公司舊程式碼時出現如下錯誤:
clang.exe: error: clang frontend command failed with exit code 70 (use -v to see invocation)
原因分析&查詢
複製出Gradle Console中的所有記錄,在sublime中檢視
FAILED: D:\Android\sdk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang.exe --target=mips64el-none-linux-android --gcc-toolchain=D :/Android/sdk/ndk-bundle/toolchains/mips64el-linux-android-4.9/prebuilt/windows-x86_64 --sysroot=D:/Android/sdk/ndk-bundle/sysroot -Dzoncare_lib_EXPORTS -isystem D:/Android/sdk/ndk-bundle/sysroot/usr/include/mips64el-linux-android -D__ANDROID_API__=21 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fintegrated-as -Wa ,--noexecstack -Wformat -Werror=format-security -O0 -fno-limit-debug-info -fPIC -MD -MT CMakeFiles/zoncare-lib.dir/src/main/cpp/ECG_Calcur.c.o -MF CMakeFiles\zoncare-lib.dir\src\main\cpp\ECG_Calcur.c.o.d -o CMakeFiles/zoncare-lib.dir/src/main/cpp/ECG_Calcur.c.o -c D:\Android\PROJECTS\AIO\zoncarediag\mylibrary\src\main\cpp\ECG_Calcur .c
fatal error: error in backend: Cannot select: 0x14a66530: ch = store<ST8[%91490](align=4)> 0xd8d3428, 0x5cbc840, 0x10622f50, undef:i64
0x5cbc840: i64,ch = load<LD8[FixedStack-10]> 0x5e65a88, FrameIndex:i64<-10>, undef:i64
0x5cbc568: i64 = FrameIndex<-10>
0x5cbc978: i64 = undef
0x10622f50: i64 = add FrameIndex:i64<1>, Constant:i64<136>
0x10621a30: i64 = FrameIndex<1>
0x10622ee8: i64 = Constant<136>
0x5cbc978: i64 = undef
In function: print_refer
clang.exe: error: clang frontend command failed with exit code 70 (use -v to see invocation)
Android clang version 5.0.300080 (based on LLVM 5.0.300080)
Target: mips64el-none-linux-android
Thread model: posix
發現提示print_refer函式有問題
檢視print_refer函式
void print_refer(struct med_state print_refer_value)
{
...
}
問題出在此函式的入參上,入參傳入了一個大的結構體,導致異常
解決辦法
修改入參為結構體指標
void print_refer(struct med_state * print_refer_value)
{
...
}