Luckfox Pico Plus交叉编译器问题

  • 您好,通常情况下 uclibc(arm-rockchip830-linux-uclibcgnueabihf) 和 glibc(arm-linux-gunesbihf) 编译器是不能混用的,个别情况(不依赖任何动态库)时用uclibc编译器加-static可以编译出程序给 glibc 环境(ubuntu)使用, 强烈不推荐跨 libc 环境编译
  • 感谢您的回复,我需要这个这款开发板进行usb摄像头开发,于是我向摄像头厂家申请usb_sdk。

    “需要提供必须提供自己编译平台名称,编译平台确认方法如下:进入工具链中的bin目录,执行./xxx-xxx-g++ -v
    然后提供对应的信息,我们根据信息提供对应版本的sdk开发包。”
    这个是厂家的邮件原话,所以想问一下这个Luckfox Pico Plus的编译平台名称是什么
  • Luckfox Pico Plus 根据系统有不同的编译工具链名称,如果条件允许我建议arm-rockchip830-linux-uclibcgnueabihf-g++ 和 arm-linux-gnueabihf-g++ 版本的都获取,如果对硬件编码没有要求优先选择arm-linux-gnueabihf-g++(ubuntu系统),glibc 环境对很多软件的兼容性更好
  • 考虑到功耗问题,我这边选择buildroot系统,考虑到 arm-rockchip830-linux-uclibcgnueabihf编译器比较冷门,厂家不一定会有,但是依旧会尝试让厂家进行提供。
    另外关于他说的 进入工具链中的bin目录,执行./xxx-xxx-g++ -v 这个操作,是如何查看呢,您那边可以帮忙提供一下吗。或者告诉我工具链中的bin目录是指在什么目录
  • 两个系统其实在功耗上差别不大,ubuntu在内存资源占用上更高要求, arm-rockchip830-linux-uclibcgnueabihf 毕竟是Rockchip 提供的专门给 rv1103/rv1106 用的编译器,很有可能没有为其专门作适配,工具链的bin目录在<Luckfox Pico Sdk >/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin 下,如果有添加到环境变量中和直接执行arm-rockchip830-linux-uclibcgnueabihf-gcc -v 的输出是一致的(glibc的也一样)
  • 您好,我已经向厂家要了arm-rockchip830-linux-uclibcgnueabihf版本的sdk,但是在ubuntu22.04编译成可执行文件后,放在root用户目录下运行,提示找不到xxx.so库
    想问一下,是不是需要将usb_sdk放入rv1103 的sdk中进行整体编译
  • 方便说明一下缺少什么动态库吗? 动态库有可能是usb_sdk 提供的没有一起放到luckfox-pico 上,也有可能是系统依赖的库需要在buildroot中开启
  • 您好,缺少的库为厂家提供的动态库,库名为libusbsdk.so。
    我已使用sftp的方式,将libusbsdk.so库放入root用户目录下。是否需要将动态库放入buildroot中,然后进行编译下载
  • 这个动态库需要一起放置到luckfox Pico 板端,直接放到/usr/lib 然后执行

    Code: Select all

    #临时设置动态库地址
    export LD_LIBRARY_PATH=/usr/lib:$LD_LIBRARY_PATH
    
    您也可以选择直接放到默认的链接库地址 /oem/usr/lib:/oem/lib:/oem/usr/lib:/oem/lib: