确保文件已经推送到开发板
确保文件的CPU架构和测试设备系统架构是一致的,可通过file
查看文件属性,通过getconf LONG_BIT
查看系统位数,如本错误示例中:
# file bzip2 # 查看文件架构时arm64位的
bzip2: ELF shared object, 64-bit LSB arm64, dynamic (/lib/ld-musl-aarch64.so.1)
#
# getconf LONG_BIT # 查看系统位数
32
#
文件属性与系统位数不匹配,故提示无法找到该文件。
lycium
交叉编译适配的CPU架构只支持arm32位和arm64位的,如若需新增其他CPU架构该如何操作?本仓库中适配的三方库当前都是通过lycium工具适配且验证过的arm32位以及arm64位架构的三方库,如若需要添加其他CPU架构的编译适配,请参考文档lycium上面适配OpenHarmony 不同架构的构建。
情况一:系统本身的接口(SDK接口不支持的情况,通常在编译过程就会失败,如果成功编译出文件则注重检查交叉编译是否链接了SDK的静态库,存在此情况则可以尝试从将此静态库路径导入工程中与三方库一同编译) ,系统接口具体资料请参考下方系统符号参考中的 "附录"部分。
情况二:三方库的依赖库接口,可能是由于依赖库文件没有和三方库文件一同导入,需要将依赖库文件一同添加到工程下。如果确认三方库及依赖库已经存在工程中,则请核对cmake等编译工具路径、库名等配置选项。
情况三:三方库本身的接口,可能是因为三方库的相关编译宏没有打开,需要打开相关编译宏,如果该功能需要其它依赖库则需要补全依赖库。
三方库对应ARCH的编译文件夹(通常以ARCH-build命名,在源码目录下或者三方库目录下)下会生成build.log日志文件。
三方库目录下会生成一个库名+版本+ARCH+build.log命令的日志文件,文件中会记录具体的编译日志。
find . -name "*build.log"
因为本仓库不承载三方库的源码部分,因此进行三方库编译时需要先从开源社区获取源码部分,此部分可能需要网络代理等方式保证对gitee、github等网站的连通,当出现此错误时代表wget等下载工具不能够正常获取代码,请检查网络配置。
此信息代表当前编译三方库强需求xxx工具或者命令,请先安装对应的工具以及确保安装后的环境变量能够在tpc_c_cplusplus仓库目录生效。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。