HarmonyOS鸿蒙Next中API8 native C++工程log输出问题,找不到OH_LOG_Print ld.lld: error: undefined symbol: OH_LOG_Print
HarmonyOS鸿蒙Next中API8 native C++工程log输出问题,找不到OH_LOG_Print ld.lld: error: undefined symbol: OH_LOG_Print 找不到OH_LOG_Print ld.lld: error: undefined symbol: OH_LOG_Print
更多关于HarmonyOS鸿蒙Next中API8 native C++工程log输出问题,找不到OH_LOG_Print ld.lld: error: undefined symbol: OH_LOG_Print的实战教程也可以访问 https://www.itying.com/category-93-b0.html
CMakeLists.txt加上这个
find_library(
# Sets the name of the path variable.
hilog-lib
# Specifies the name of the NDK library that
# you want CMake to locate.
hilog_ndk.z
)
更多关于HarmonyOS鸿蒙Next中API8 native C++工程log输出问题,找不到OH_LOG_Print ld.lld: error: undefined symbol: OH_LOG_Print的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
修改CMakeLists libhilog_ndk.z.so 是日志so
target_link_libraries(entry PUBLIC libace_napi.z.so libhilog_ndk.z.so)
升级HarmonyOS后,发现手机的游戏性能也有了显著提升。
这个看不出什么问题额,能提供给下工程吗?
已经解决,
感谢您的反馈,如后期有疑问可以随时发帖,感谢您的支持。
NAPI C++ 中如何使用 OH_LOG_Print 打印出来正确的 string 类型的值?
在HarmonyOS鸿蒙Next中,API8的Native C++工程中遇到OH_LOG_Print
未定义符号的问题,通常是由于以下原因之一导致的:
-
头文件包含问题:确保在代码中正确包含了
hilog/log.h
头文件。该头文件中定义了OH_LOG_Print
函数。 -
链接库缺失:
OH_LOG_Print
函数位于libhilog_ndk.z.so
库中。确保在CMakeLists.txt或构建配置文件中正确链接了该库。例如,在CMakeLists.txt中添加:target_link_libraries(your_target_name PRIVATE libhilog_ndk.z.so)
-
API版本不匹配:检查你的工程是否使用了正确的API版本。
OH_LOG_Print
在API8中可用,但如果你使用了其他API版本,可能会导致未定义符号。 -
构建工具链问题:确保你使用的构建工具链(如
ld.lld
)与HarmonyOS的NDK版本兼容。不兼容的工具链可能会导致符号解析失败。 -
NDK路径配置:检查你的NDK路径是否正确配置,并且包含了
libhilog_ndk.z.so
库。
如果你确认以上配置都正确,但仍然遇到问题,建议检查你的构建环境是否完整,并确保所有依赖项都已正确安装和配置。
在HarmonyOS鸿蒙Next中,使用API8进行Native C++开发时,如果遇到OH_LOG_Print
未定义的错误,通常是因为缺少必要的库链接。请确保在CMakeLists.txt
或BUILD.gn
中正确链接了libhilog_ndk.z.so
库。例如,在CMakeLists.txt
中添加:
target_link_libraries(your_target_name PRIVATE hilog_ndk)
如果问题仍未解决,请检查SDK版本是否匹配,并确保hilog_ndk
库已正确安装。