问题:
之前老师讲过yuv转码可以使用libyuv,我尝试着编译libyuv(macos m1)可以成功,生成了可执行文件,我的理解是既然编译成功了也就是源码底层所链接的库环境(库环境:操作系统支持)在我本地都应该存在,那么我尝试去使用libyuv 的源码进行开发demo,最后报错,内容如下:
Undefined symbols for architecture arm64:
"_I420ToBGRA", referenced from:
yuv_util::fmt() in yuv_util.cpp.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
这个错误我的理解是我调用I420ToBGRA函数链接的库,与我本地系统架构冲突了,那么我不明白为什么能编译成功呢?
ffmpeg 我也是按照您的方式编译了 也生成了可执行文件,源码也能进行demo开发,我不太理解这是为什么?