如何在 Linux 中修復“fatal error: x264.h: No such file or directo
提問: 我想在Linux中從原始碼編譯視訊編碼程式。到那時,在編譯時,我遇到了一個錯誤“fatal error: x264.h: No such file or directory”,我該如何修復?
下面的編譯錯誤錯明你係統中沒有x264開發庫檔案。
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來安裝。
$ sudo apt-get install libx264-dev
在 Fedora、 CentOS/RHEL中安裝像x264庫和開發檔案
在基於Red Hat的發行版比如Fedora或者CentOS,x264庫在免費的RPM Fusion倉庫中有。那麼,你需要首先安裝RPM Fusion (免費) 。
RPM Fusion設定完成後,你可以使用下面的命令安裝x264開發檔案。
$ sudo yum --enablerepo=rpmfusion-free install x264-devel
注意RPM Fusion倉庫在CentOS 7中還沒有,因此上面的方法在CentOS 7中還不可行。萬一是CentOS 7 ,你可以從原始碼編譯並安裝x264,下面會解釋的。
在Debian、 Ubuntu 或者 Linux Mint中原始碼編譯x264庫
如果libx264包在你的發行版中並沒有,那麼你可以按照下面的方法編譯最新的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
/usr/local/lib
最後執行下面的命令重新載入共享庫:
$ sudo ldconfig
在 Fedora, CentOS/RHEL 中原始碼編譯x264庫
如果你Linux的發行版中沒有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
/usr/local/lib
最後執行下面的命令重新載入共享庫:
$ sudo ldconfig
相關文章
- 如何修復 “fatal error: security/pam_modError
- fatal error: openssl/sha.h: No such file or directoryError
- fatal error: sys/cdefs.h: No such file or directoryError
- fatal error: libmemcached/memcached.h: No such file or directoryErrorIBM
- Linux 錯誤:fatal error: uuid/uuid.h: No such file or directoryLinuxErrorUI
- "Fatal error: Call to undefined function: file_put_contents()"ErrorUndefinedFunction
- Ubuntu下 fatal error: Python.h: No such file or directory 解決方法UbuntuErrorPython
- Fatal error: can't check configuration file '/home/watt/proxy/dError
- FATAL - Fatal error: Target Interaction Manager failed at StartupErrorAI
- 修復 Ubuntu 中 “E: The package cache file is corrupted, it has the wrong hash”UbuntuPackage
- 如何在Mac電腦中修復磁碟許可權?Mac
- Flutter在iOS裝置執行報錯fatal error: 'Flutter/Flutter.h' file not foundFlutteriOSError
- [MySQL生產環境資料恢復]innobackupex: fatal error: OR no 'datadir'MySql資料恢復Error
- Linux有問必答:如何修復“sshd error: could not load host key”LinuxError
- 修復Gradle CreateProcess error=206GradleError
- FATAL ERROR IN TWO-TASK SERVER: error = 12569ErrorServer
- Last_IO_Error: Got fatal error 1236ASTErrorGo
- LINK : fatal error LNK1104: cannot open file 'mfcs42d.lib'Error
- linux:ora-27054:nfs file system errorLinuxNFSError
- Canonical 修復 Ubuntu 13.04 中 Linux 核心漏洞UbuntuLinux
- Fatal error: Uncaught PDOException: could not find driverErrorException
- Fatal NI connect error 12170Error
- MySQL Replication Fatal Error 1236MySqlError
- Fatal error: Cannot redeclare printerror() (previously declared in …Error
- FATAL ERROR IN TWO-TASK SERVER: error = 12152ErrorServer
- Linux的單使用者、修復模式等在系統修復中的運用Linux模式
- Linux中XFS檔案系統的備份,恢復,修復Linux
- 如何在macOS中修復多個檔案的錯誤許可權Mac
- Fatal error in launcher: Unable to create process using '"'Error
- 【MySql】MySQL Replication Fatal Error 1236MySqlError
- Fatal NI connect error 12170.Error
- Alert Log中“Fatal NI connect error 12170”錯誤問題Error
- 『學了就忘』Linux啟動引導與修復 — 74、Linux系統的修復模式(光碟修復模式)Linux模式
- Linux故障修復報告Linux
- FILE ON OCFS CANNOT BE DELETED LINUX ERROR: 16: DEVICE OR RESOURCE BUSYdeleteLinuxErrordev
- 關於java.lang.Error: Probable fatal error:No fonts found問題JavaError
- Fatal NI connect error 12170 錯誤Error
- [Code Composer Studio] fatal error #6001Error