感谢电子发烧友william hill官网 和芒果派。上次介绍了操作系统的安装,芒果派MQ Pro自带有GCC,所以可以在开发板上完成程序的编译和链接。不过毕竟开发板的速度很慢,如果要开发大型程序,还是希望在电脑上完成交叉编译,今天就尝试一下交叉编译环境的配置。
芒果派MQ Pro采用的全志D1处理器,其中使用的是平头哥的玄铁C906核。所以首先想到的交叉编译器就是去平头哥的网站下载。平头哥网站提供了各个宿主平台的优化编译器(https://xuantie.t-head.cn/community/download?id=4090445921563774976),我选择了适合自己平台的x86_64编译器。
平头哥的网站还提供了优化的定制版OpenCV,据说这个版本可以最大限度地发挥D1芯片的性能,让人很是期待。
不过接下来的测试遇到了麻烦。使用平头哥编译器生成的可执行文件在开发板上无法运行。
root@nezha$:
./hello
-bash: ./hello:
No such file or directory
使用ldd命令检查了一下hello的所有链接库,发现一切正常,但是就是无法执行。现象和网友jszszzy在Lichee RV 86 PANEL开发板测试的结果类似:http://bbs.eeworld.com.cn/thread-1197058-1-1.html。推测平头哥编译器所使用的glibc库和芒果派在带镜像所使用的glibc不兼容。
后在PC端安装了Ubuntu自带的RISC-V编译器,发现这个编译器编译的程序可以在板子上运行。但是Ubuntu自带的RISC-V编译器和平头哥提供的优化的OpenCV又不兼容,无法编译。看来芒果派提供的官方镜像和平头哥的优化编译器,鱼和熊掌不可兼得。
更多回帖