arm64上面运行armhf程序

arm64屏上跑armhf程序

起因:我们之前给客户的屏是armhf的,由于性能问题需要升级,现在提供给他们的屏是arm64的。
客户之前在armhf环境开发时花钱买了armhf版本的第三方的静态库使用,
现在升级用arm64的话又得花钱买arm64版本的库(据说挺贵的客户不想重新花钱买),
问我们能不能在arm64环境继续使用armhf版本的第三方静态库。

思路:由于arm64是兼容armhf的,即armv8兼容armv7,所以理论上客户可以直接编译它们的程序直接在arm64上的屏上运行,类似windows一样64位的兼容32位的。

所以我们直接还是使用原来的armhf编译链编译程序并连接第三方静态库,
然后放到我们arm64的屏上面跑,结果报错no find Directory,根本跑不起来。

排查原因:我们屏上面没有armv7的环境和动态库(好比win64位的电脑只有64位的库没有32位的库)

解决办法:

  1. 使用静态编译,即编译的时候加上-static 参数, 即armhf-linux-g++ -static main.c -lotherdrm ,缺点编译出来的可执行程序很大,但是不需要依赖其他动态库
  2. 将armv7环境sys-rootfs拷贝到arm64上面,准备一套armv7的环境,缺点整套armv7环境占用空间较大磁盘空间,所以最终否决,决定使用静态编译方案

相关推荐

  1. arm64上面运行armhf程序

    2024-01-11 06:18:01       40 阅读
  2. docker opensearch arm64 运行失败解决方案

    2024-01-11 06:18:01       14 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-11 06:18:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-11 06:18:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-11 06:18:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-11 06:18:01       20 阅读

热门阅读

  1. Hadoop之mapreduce参数大全-5

    2024-01-11 06:18:01       27 阅读
  2. Hadoop之mapreduce参数大全-6

    2024-01-11 06:18:01       31 阅读
  3. windows配置电脑网络ip地加的方法

    2024-01-11 06:18:01       36 阅读
  4. adb forward使用

    2024-01-11 06:18:01       44 阅读
  5. VsCode 安装Copilot

    2024-01-11 06:18:01       37 阅读
  6. (实战)静默dbca安装创建数据库 --参数说明+举例

    2024-01-11 06:18:01       29 阅读
  7. js_BOM&Dom&Ajax

    2024-01-11 06:18:01       35 阅读
  8. flutter资源

    2024-01-11 06:18:01       31 阅读