我已成功为64位ubuntu下的RPI设置了交叉编译环境。我可以使用gstreamer编译和运行个人项目。
由于gstreamer的性能问题,我想开发一个omxplayer的分支。我把它改编成了我的环境,ffmpeg和omxplayer的编译工作得很好。
但是,链接实际的可执行文件(ffmpeg或omxplayer.bin)会产生我无法解决的链接错误。
您可以在此处找到最后一个带有详细标志的失败链接步骤的完整输出:
https://gist.github.com/deets/3bba7c94017405d28f81
错误消息是
ffmpeg_compiled/usr/local/lib/libavcodec.so: undefined reference to `_dl_hwcap'
collect2: error: ld returned 1 exit status
对我来说,缺少的符号表示动态加载。也许libc或libdl是拙劣的?但是,如果编译另一个项目,为什么这些工作正常呢?
答案 0 :(得分:1)
找到了罪魁祸首。设置交叉编译环境时,请确保您的RPI库的副本正确无误。我有未解决的符号库链接,需要修复我的RPI文件系统的rsync副本。