歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 如何在Linux 中修復“fatal error: x264.h: No such file or directo

如何在Linux 中修復“fatal error: x264.h: No such file or directo

日期:2017/2/28 14:02:56   编辑:Linux教程

提問: 我想在Linux中從源碼編譯視頻編碼程序。到那時,在編譯時,我遇到了一個錯誤“fatal error: x264.h: No such file or directory”,我該如何修復?

下面的編譯錯誤錯明你系統中沒有x264開發庫文件。

  1. fatal error: x264.h:No such file or directory

x264是GNU GPL授權的H.264/MPEG-4 AVC編碼庫。x264庫被廣泛用於視頻編碼/轉碼程序比如Avidemux、FFmpeg、 HandBrake、 OpenShot、 MEncode等等。

要解決這個問題,你需要安裝x264的開發庫文件。你可以如下做。

在 Debian、 Ubuntu 或者 Linux Mint 中安裝像x264庫和開發文件

在基於Debian的系統中,x264庫已經包含在基礎倉庫中。可以直接用apt-get來安裝。

  1. $ sudo apt-get install libx264-dev

在 Fedora、 CentOS/RHEL中安裝像x264庫和開發文件

在基於Red Hat的發行版比如Fedora或者CentOS,x264庫在免費的RPM Fusion倉庫中有。那麼,你需要首先安裝RPM Fusion (免費) 。

讓CentOS6 yum源支持更多rpm包的升級(使用第三方軟件庫EPEL、RPMForge與RPMFusion) http://www.linuxidc.com/Linux/2014-08/106024.htm

RPM Fusion設置完成後,你可以使用下面的命令安裝x264開發文件。

  1. $ sudo yum --enablerepo=rpmfusion-free install x264-devel

注意RPM Fusion倉庫在CentOS 7中還沒有,因此上面的方法在CentOS 7中還不可行。萬一是CentOS 7 ,你可以從源碼編譯並安裝x264,下面會解釋的。

在Debian、 Ubuntu 或者 Linux Mint中源碼編譯x264庫

如果libx264包在你的發行版中並沒有,那麼你可以按照下面的方法編譯最新的x264庫。

  1. $ sudo apt-get install g++ automake autoconf libtool yasm nasm git
  2. $ git clone git://git.videolan.org/x264.git
  3. $ cd x264
  4. $ ./configure --enable-static--enable-shared
  5. $ make
  6. $ sudo make install

x264庫將會安裝在/usr/local/lib。要讓其他程序可以使用這個庫,你需要完成最後一步。

打開/etc/ld.so.conf,並添加下面的行。

  1. $ sudo vi /etc/ld.so.conf

  1. /usr/local/lib

最後運行下面的命令重新加載共享庫:

  1. $ sudo ldconfig

在 Fedora, CentOS/RHEL 中源碼編譯x264庫

如果你Linux的發行版中沒有x264庫(比如:CentOS 7)或者x264庫並不是最新的,你可以如下編譯最新的x264庫。

  1. $ sudo yum install gcc gcc-c++ automake autoconf libtool yasm nasm git
  2. $ git clone git://git.videolan.org/x264.git
  3. $ cd x264
  4. $ ./configure --enable-static--enable-shared
  5. $ make
  6. $ sudo make install

最後,要讓其他的程序可以訪問到位於 /usr/local/lib的x264庫,在 /etc/ld.so.conf加入下面的行。

  1. $ sudo vi /etc/ld.so.conf

  1. /usr/local/lib

最後運行下面的命令重新加載共享庫:

  1. $ sudo ldconfig

Copyright © Linux教程網 All Rights Reserved