t113(tina)加入paha.mqtt.c库,编译成固件烧录到板子上后报错找不到动态库
-
交叉编译paha.mqtt.c库后,在lvgl_test项目中使用mqtt通信,编译成固件后,烧录到板子上运行,报错找不到动态库,有大佬指点一下吗?修改哪里的配置才能把动态库也加入到目标板的系统上。
-
两种方法:
- 链接的时候静态连接。
- 把库打到镜像里面:
pack
前把库放到rootfs/lib
里面去(lunch
后输入crootfs
命令可以进入rootfs
目录),然后再pack
。
-
@qianchenzhumeng 在 t113(tina)加入paha.mqtt.c库,编译成固件烧录到板子上后报错找不到动态库 中说:
两种方法:
- 链接的时候静态连接。
- 把库打到镜像里面:
pack
前把库放到rootfs/lib
里面去(lunch
后输入crootfs
命令可以进入rootfs
目录),然后再pack
。
学到了学到了,谢谢大佬的指点
-
@qianchenzhumeng 在 t113(tina)加入paha.mqtt.c库,编译成固件烧录到板子上后报错找不到动态库 中说:
两种方法:
- 链接的时候静态连接。
- 把库打到镜像里面:
pack
前把库放到rootfs/lib
里面去(lunch
后输入crootfs
命令可以进入rootfs
目录),然后再pack
。
大佬,我试了第二种方法,库打不到镜像里咋办呀?并且重新make之后,放到‘rootfs/lib’里的库会被清掉
-
@jr_online 解决了吗,我也遇到这个问题
-
@theoldfisherman 在 t113(tina)加入paha.mqtt.c库,编译成固件烧录到板子上后报错找不到动态库 中说:
@jr_online 解决了吗,我也遇到这个问题
暂时还没弄这个,你呢?现在解决了吗?
-
@jr_online 我解决了
crootfs 之后将 rootfs的文件复制到自己新建的文件夹(rootfs-pack)中:
再将自己的库复制到rootfs-pack/lib中
然后:
mkdir rootfs查看根文件大小
du rootfs-pack -h这里我弄的是200M的镜像
dd if=/dev/zero of=rootfs.img bs=1M count=200将镜像格式化为ext4
mkfs.ext4 rootfs.img将镜像挂载到rootfs文件夹
sudo mount rootfs.img rootfs将rootf-pack复制到rootfs
sudo cp -rfpd rootfs-pack/* ./rootfs取消挂载
sudo umount rootfs.img最后:
将rootfs.img替换Tina-Linux/out/t113-mq_r/rootfs.img之后,pack命令打包就可以了
-
@theoldfisherman 在 t113(tina)加入paha.mqtt.c库,编译成固件烧录到板子上后报错找不到动态库 中说:
@jr_online 我解决了
crootfs 之后将 rootfs的文件复制到自己新建的文件夹(rootfs-pack)中:
再将自己的库复制到rootfs-pack/lib中
然后:
mkdir rootfs查看根文件大小
du rootfs-pack -h这里我弄的是200M的镜像
dd if=/dev/zero of=rootfs.img bs=1M count=200将镜像格式化为ext4
mkfs.ext4 rootfs.img将镜像挂载到rootfs文件夹
sudo mount rootfs.img rootfs将rootf-pack复制到rootfs
sudo cp -rfpd rootfs-pack/* ./rootfs取消挂载
sudo umount rootfs.img最后:
将rootfs.img替换Tina-Linux/out/t113-mq_r/rootfs.img之后,pack命令打包就可以了
好滴,感谢你分享方法,那这样的话是不是每次重新编译都要这样子来一遍?
-
@jr_online 重新编译后,Tina-Linux/out/t113-mq_r/rootfs.img会被覆盖 ,要将rootfs.img重新替换上去。我也是刚刚开始玩这个,还在摸索中。
-
@theoldfisherman 在 t113(tina)加入paha.mqtt.c库,编译成固件烧录到板子上后报错找不到动态库 中说:
@jr_online 重新编译后,Tina-Linux/out/t113-mq_r/rootfs.img会被覆盖 ,要将rootfs.img重新替换上去。我也是刚刚开始玩这个,还在摸索中。
很强很强,一起加油![抱拳]
-
@theoldfisherman 有没简单的办法,在编译系统和打包时,将这个库加进来
-
我也遇到了编译QT5 无法打包所有qt so库的情况。
经过调试发现
是最后打包制作 rootfs.img 时 自动将 脚本认为无用的 文件资源 库 给移除掉了。所以导致最终目标系统没有包含进去。
源码 build 目录 找到 reduce-rootfs-size.sh 脚本
找到 downsize_rootfs 函数,注释掉里面的几个 remove函数具体打包无效原因在。
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号