下面的編譯錯誤錯明你系統(tǒng)中沒有x264開發(fā)庫文件。
fatal error: x264.h: No such file or directory
x264是GNU GPL授權的H.264/MPEG-4 AVC編碼庫。x264庫被廣泛用于視頻編碼/轉碼程序比如Avidemux、FFmpeg、 HandBrake、 OpenShot、 MEncode等等。
要解決這個問題,你需要安裝x264的開發(fā)庫文件。你可以如下做。
在 Debian、 Ubuntu 或者 Linux Mint 中安裝像x264庫和開發(fā)文件
在基于Debian的系統(tǒng)中,x264庫已經(jīng)包含在基礎倉庫中??梢灾苯佑胊pt-get來安裝。
$ sudo apt-get install libx264-dev
在 Fedora、 CentOS/RHEL中安裝像x264庫和開發(fā)文件
在基于Red Hat的發(fā)行版比如Fedora或者CentOS,x264庫在免費的RPM Fusion倉庫中有。那么,你需要首先安裝RPM Fusion (免費) 。
RPM Fusion設置完成后,你可以使用下面的命令安裝x264開發(fā)文件。
$ sudo yum --enablerepo=rpmfusion-free install x264-devel
注意RPM Fusion倉庫在CentOS 7中還沒有,因此上面的方法在CentOS 7中還不可行。萬一是CentOS 7 ,你可以從源碼編譯并安裝x264,下面會解釋的。
在Debian、 Ubuntu 或者 Linux Mint中源碼編譯x264庫
如果libx264包在你的發(fā)行版中并沒有,那么你可以按照下面的方法編譯最新的x264庫。
$ sudo apt-get install g++ automake autoconf libtool yasm nasm git
$ git clone git://git.videolan.org/x264.git
$ cd x264
$ ./configure --enable-static --enable-shared
$ make
$ sudo make install
x264庫將會安裝在/usr/local/lib。要讓其他程序可以使用這個庫,你需要完成最后一步。
打開/etc/ld.so.conf,并添加下面的行。
$ sudo vi /etc/ld.so.conf /p>
p> /usr/local/lib
最后運行下面的命令重新加載共享庫:
$ sudo ldconfig
在 Fedora, CentOS/RHEL 中源碼編譯x264庫
如果你Linux的發(fā)行版中沒有x264庫(比如:CentOS 7)或者x264庫并不是最新的,你可以如下編譯最新的x264庫。
$ sudo yum install gcc gcc-c++ automake autoconf libtool yasm nasm git
$ git clone git://git.videolan.org/x264.git
$ cd x264
$ ./configure --enable-static --enable-shared
$ make
$ sudo make install
最后,要讓其他的程序可以訪問到位于 /usr/local/lib的x264庫,在 /etc/ld.so.conf加入下面的行。
$ sudo vi /etc/ld.so.conf /p>
p> /usr/local/lib
最后運行下面的命令重新加載共享庫:
$ sudo ldconfig
