ubuntu下使用脚本交叉编译windows下使用的ffmpeg + X264

这里主要是补充一些遇到的问题和解决方法。

2013-06 下旬

由于项目需要,重新编译ffmpeg+264+其他。

这里使用的环境Ubuntu 13.04,脚本依然是cross_compile_ffmpeg.sh

地址 https://github.com/rdp/ffmpeg-windows-build-helpers 特此感谢。

然而X264编译过程中也遇到了一些问题。由于编译ffmpeg使用了--disable-pthreads --enable-w32threads

导致X264虽然编译通过,但是在编译ffmpeg的时候,无法找到ffmpeg。原来脚本中build_x264默认没有使用--enable-win32thread。所以ffmpeg使用--disable-pthreads的时候,会无法发现X264。

给build_x264编译选项添加上--enable-win32thread。依然会报错:pthread_win32_process_detach_np 这里调用失败。

原因是如果pthread-w32被静态链接到程序中,需要在main()函数开头调用pthread_win32_process_attach_np初始化,否则程序会崩溃。

查看build_x264编译选项,发现有这么一句--extra-cflags=-DPTW32_STATIC_LIB。去掉这一句,就顺利通过编译,并被ffmpeg发现。

 

posted @ 2013-06-30 01:06  水上云天  阅读(913)  评论(0编辑  收藏  举报