linux下编译ffmpeg时关于configure的问题.
错误提示 libx264 not found.
查看了config.log,后面出现了一堆:
ratecontrol.c:(.text+0x7a33): undefined reference to `__pow_finite'
/usr/local/lib/libx264.a(ratecontrol.o): In function `x264_ratecontrol_slice_type':
ratecontrol.c:(.text+0x85ca): undefined reference to `__log2_finite'
ratecontrol.c:(.text+0x8633): undefined reference to `__log2_finite'
ratecontrol.c:(.text+0x878c): undefined reference to `__pow_finite'
ratecontrol.c:(.text+0x87e1): undefined reference to `__pow_finite'
/usr/local/lib/libx264.a(ratecontrol.o): In function `x264_ratecontrol_end':
ratecontrol.c:(.text+0x8c1f): undefined reference to `__pow_finite'
ratecontrol.c:(.text+0x8c68): undefined reference to `__pow_finite'
ratecontrol.c:(.text+0x8d5e): undefined reference to `__pow_finite'
/usr/local/lib/libx264.a(ratecontrol.o):ratecontrol.c:(.text+0x8f56): more undefined references to `__pow_finite' follow
/usr/local/lib/libx264.a(ratecontrol.o): In function `clip_qscale':
ratecontrol.c:(.text+0x718): undefined reference to `__exp_finite'
/usr/local/lib/libx264.a(set.o): In function `x264_sps_init':
set.c:(.text+0x8de): undefined reference to `__log2f_finite'
collect2: ld returned 1 exit status
ERROR: libx264 not found
似乎是math链接不到。 但是调用math的本身是libx264.a, 并不是ffmpeg。
这个问题怎么解决啊?
谢谢 展开
你准备工作没做好吧!!
先编译安装 Yasm。
然后编译安装 H.264 (也就是x264)。
再编译安装 AAC audio encoder (fdk-aac)。
编译安装 libmp3lame (MP3 audio encoder)。
编译安装 libopus (Opus audio decoder and encoder)。
编译安装 libvpx (VP8/VP9 video encoder and decoder)。
做后编译安装 ffmpeg。
其中1-6你可以选择编译安装,也可以使用源直接安装。安装后了再编译安装ffmpeg
你使用 sudo ldconfig -p |grep libx264 看看你的libx264是否正确安装.
你编译安装x264的时候可以使用2中方式都安装。
先
cd ../x264
./configure --enable-shared
make
make install
最后
cd ../x264
make distclean
./configure --enable-static
make
make install
www.avidemux.org/smf/index.php?topic=11974.0
你这个东西真不好说,不过看来是 x264 因为是静态编译,静态编译我记得需要别的函数库也是静态的。你这个应该是 x264 本身就有找不到的函数入口问题,导致现在传染给了 ffmpeg 。
你看看 config.log 这堆错误前面的编译命令和编译对应的文件,应该是可以通过增加 lib 目录解决。但也不排除可能你还需要别的程序的静态库。
话说 __pow_finite 应该是 glibc 的函数库提供的吧?按说 glibc 应该肯定在 GCC 调用的 lib 目录里面啊。
2013-08-02
或者,
放到系统默认的lib路径
2 configure the instrument