HarmonyOS 鸿蒙Next Deveco做Hiai项目,出现编译问题error: found local symbol '__bss_start__' in global part of symbol
HarmonyOS 鸿蒙Next Deveco做Hiai项目,出现编译问题error: found local symbol ‘bss_start’ in global part of symbol 我使用Deveco编译Hiai项目,编译链接hiai.so等等,基本都编译过了,卡在一个问题
FAILED: C:/Users/w83533/Desktop/deweather/Camera/entry/libs/arm64-v8a/libhiaijni.socmd.exe /C "cd . && C:\Users\w83533\AppData\Local\Huawei\Sdk\hmscore\2.1.0\native\llvm\bin\clang++.exe --target=aarch64-linux-ohos --gcc-toolchain=C:/Users/w83533/AppData/Local/Huawei/Sdk/hmscore/2.1.0/native/llvm --sysroot=C:/Users/w83533/AppData/Local/Huawei/Sdk/hmscore/2.1.0/native/sysroot -fPIC -g -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -frtti -fexceptions -fuse-ld=gold -fvisibility=hidden -O0 -fno-limit-debug-info --rtlib=compiler-rt -fuse-ld=lld -Wl,--build-id=sha1 -Wl,--warn-shared-textrel -Wl,--fatal-warnings -lunwind -Wl,--no-undefined -Qunused-arguments -Wl,-z,noexecstack -shared -Wl,-soname,libhiaijni.so -o C:\Users\w83533\Desktop\deweather\Camera\entry\libs\arm64-v8a\libhiaijni.so CMakeFiles/hiaijni.dir/classify_sync_jni.cpp.o CMakeFiles/hiaijni.dir/classify_async_jni.cpp.o CMakeFiles/hiaijni.dir/buildmodel.cpp.o -Wl,-rpath,C:/Users/w83533/Desktop/deweather/Camera/entry/src/main/jni/../../../libs/arm64-v8a -lhilog_ndk.z -lGLESv3 C:/Users/w83533/Desktop/deweather/Camera/entry/src/main/jni/../../../libs/arm64-v8a/libhiai.so C:/Users/w83533/Desktop/deweather/Camera/entry/src/main/jni/../../../libs/arm64-v8a/libcpucl.so C:/Users/w83533/Desktop/deweather/Camera/entry/src/main/jni/../../../libs/arm64-v8a/libhcl.so C:/Users/w83533/Desktop/deweather/Camera/entry/src/main/jni/../../../libs/arm64-v8a/libhiai_ir.so -lm && cd ."
ld.lld: error: found local symbol '__bss_start__' in global part of symbol table in file C:/Users/w83533/Desktop/deweather/Camera/entry/src/main/jni/../../../libs/arm64-v8a/libhiai.so
ld.lld: error: found local symbol '_bss_end__' in global part of symbol table in file C:/Users/w83533/Desktop/deweather/Camera/entry/src/main/jni/../../../libs/arm64-v8a/libhiai.so
ld.lld: error: found local symbol '_edata' in global part of symbol table in file C:/Users/w83533/Desktop/deweather/Camera/entry/src/main/jni/../../../libs/arm64-v8a/libhiai.so
ld.lld: error: found local symbol '__bss_end__' in global part of symbol table in file C:/Users/w83533/Desktop/deweather/Camera/entry/src/main/jni/../../../libs/arm64-v8a/libhiai.so
ld.lld: error: found local symbol '_end' in global part of symbol table in file C:/Users/w83533/Desktop/deweather/Camera/entry/src/main/jni/../../../libs/arm64-v8a/libhiai.so
ld.lld: error: found local symbol '__end__' in global part of symbol table in file C:/Users/w83533/Desktop/deweather/Camera/entry/src/main/jni/../../../libs/arm64-v8a/libhiai.so
ld.lld: error: found local symbol '__bss_start' in global part of symbol table in file C:/Users/w83533/Desktop/deweather/Camera/entry/src/main/jni/../../../libs/arm64-v8a/libhiai.so
ld.lld: error: found local symbol '__bss_start__' in global part of symbol table in file C:/Users/w83533/Desktop/deweather/Camera/entry/src/main/jni/../../../libs/arm64-v8a/libcpucl.so
ld.lld: error: found local symbol '_bss_end__' in global part of symbol table in file C:/Users/w83533/Desktop/deweather/Camera/entry/src/main/jni/../../../libs/arm64-v8a/libcpucl.so
ld.lld: error: found local symbol '_edata' in global part of symbol table in file C:/Users/w83533/Desktop/deweather/Camera/entry/src/main/jni/../../../libs/arm64-v8a/libcpucl.so
ld.lld: error: found local symbol '__bss_end__' in global part of symbol table in file C:/Users/w83533/Desktop/deweather/Camera/entry/src/main/jni/../../../libs/arm64-v8a/libcpucl.so
ld.lld: error: found local symbol '_end' in global part of symbol table in file C:/Users/w83533/Desktop/deweather/Camera/entry/src/main/jni/../../../libs/arm64-v8a/libcpucl.so
ld.lld: error: found local symbol '__end__' in global part of symbol table in file C:/Users/w83533/Desktop/deweather/Camera/entry/src/main/jni/../../../libs/arm64-v8a/libcpucl.so
ld.lld: error: found local symbol '__bss_start' in global part of symbol table in file C:/Users/w83533/Desktop/deweather/Camera/entry/src/main/jni/../../../libs/arm64-v8a/libcpucl.so
ld.lld: error: found local symbol '__bss_start__' in global part of symbol table in file C:/Users/w83533/Desktop/deweather/Camera/entry/src/main/jni/../../../libs/arm64-v8a/libhcl.so
ld.lld: error: found local symbol '_bss_end__' in global part of symbol table in file C:/Users/w83533/Desktop/deweather/Camera/entry/src/main/jni/../../../libs/arm64-v8a/libhcl.so
ld.lld: error: found local symbol '_edata' in global part of symbol table in file C:/Users/w83533/Desktop/deweather/Camera/entry/src/main/jni/../../../libs/arm64-v8a/libhcl.so
ld.lld: error: found local symbol '__bss_end__' in global part of symbol table in file C:/Users/w83533/Desktop/deweather/Camera/entry/src/main/jni/../../../libs/arm64-v8a/libhcl.so
ld.lld: error: found local symbol '_end' in global part of symbol table in file C:/Users/w83533/Desktop/deweather/Camera/entry/src/main/jni/../../../libs/arm64-v8a/libhcl.so
ld.lld: error: found local symbol '__end__' in global part of symbol table in file C:/Users/w83533/Desktop/deweather/Camera/entry/src/main/jni/../../../libs/arm64-v8a/libhcl.so
ld.lld: error: found local symbol '__bss_start' in global part of symbol table in file C:/Users/w83533/Desktop/deweather/Camera/entry/src/main/jni/../../../libs/arm64-v8a/libhcl.so
ld.lld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
找了些资料,Android开发的说是NDK版本过高,但是Deveco没有NDK把。。。?哪个版本呢?
更多关于HarmonyOS 鸿蒙Next Deveco做Hiai项目,出现编译问题error: found local symbol '__bss_start__' in global part of symbol的实战教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于HarmonyOS 鸿蒙Next Deveco做Hiai项目,出现编译问题error: found local symbol '__bss_start__' in global part of symbol的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
你遇到的编译问题是由于在全局符号部分发现了本地符号 __bss_start__
。这个问题通常与链接脚本或编译器的符号处理有关。在HarmonyOS的编译环境中,__bss_start__
是一个由链接器生成的符号,用于标识未初始化数据段(BSS段)的起始地址。如果这个符号在全局符号表中被错误地定义或引用,可能会导致编译错误。
要解决这个问题,你可以检查以下几个方面:
-
链接脚本:确保链接脚本(通常是
.ld
文件)中正确定义了__bss_start__
符号,并且没有在其他地方重复定义。 -
编译器选项:检查编译器选项,确保没有意外地启用了某些可能导致符号冲突的选项。
-
代码中的符号引用:确保在代码中没有错误地引用或定义
__bss_start__
符号。 -
编译器版本:确保使用的编译器版本与HarmonyOS的开发环境兼容,某些编译器版本可能存在符号处理的差异。
如果问题仍然存在,建议检查编译日志,查看是否有其他相关的错误或警告信息,这些信息可能有助于进一步定位问题的根源。