Ubuntu下使用mingw-w64交叉编译ffmpeg

Ubuntu下使用mingw-w64交叉编译ffmpeg,第1张

网上大部分编译windows版ffmpeg的教程都是基于msys+mingw的,完全运行在windows上。由于msys2的性能实在是太糟糕了,编译速度太感人,因此决定研究Linux下使用mingw-w64交叉编译 先是安装ubuntu版的mingw-w64 sudo apt install mingw-w64 然后在configure ffmpeg的时候,在正常的配置项之后加上。 --arch=x86 --target-os=mingw32 --cross-prefix=i686-w64-mingw32- 上面是32位库编译的配置,64位的如下 --arch=x86_64 --target-os=mingw32 --cross-prefix=x86_64-w64-mingw32- 而且最好使用动态库,静态库还需要链接一大堆mingw的库实现,而且还可能链接失败。但这样编译出来的动态库,还需要依赖 libgcc_s_sjlj-1.dll。如果要移除这个依赖,configure的时候还要加上 --extra-ldflags='-static-libgcc'

试着回复下;

1、i686 与 行x86_64这个好理解,既然下载的是MinGW-w64,当然就要选x86_64,否则下载Mingw的纯32就行了。

2、如果没有跨平台编译需求,就选win32。如果有的话选posix。

3、dwarf、sjlj 的异常模型选择,推荐使用dwarf即所谓dw2,这个模型便于调试。不过出来的东西较sjlj的东西体量稍大些。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8976270.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存