2021-05-12 14:32:11
在Linux中修復「fatal error: lame/lame.h: No such file or dir 錯誤
提問: 我嘗試著在Linux中編譯視訊編碼器,但是編譯提示出錯:“fatal error: lame/lame.h: No such file or directory”, 我該如何修復這個錯誤?
下面的編譯錯誤說明你的系統沒有安裝LAME庫和它的開發檔案。
fatal error: lame/lame.h:No such file or directory
LAME("LAME Ain't an MP3 Encoder")是一個流行的LPGL授權的MP3編碼器。許多視訊編碼工具使用或者支援LAME,如 FFmpeg、 VLC、 Audacity、 K3b、 RipperX等。
要修復這個編譯錯誤,你需要安裝LAME庫和開發檔案,按照下面的來。
在Debian、Ubuntu或者Linux Mint上安裝LAME庫和安裝檔案
Debian和它的衍生版在基礎庫中已經提供了LAME庫,因此可以用apt-get直接安裝。
$ sudo apt-get install libmp3lame-dev
在Fedora、CentOS/RHEL上安裝LAME庫和安裝檔案
在基於Red Hat的版本中,LAME在RPM Fusion的免費倉庫中就有,那麼你需要先設定RPM Fusion (免費)倉庫。
RPM Fusion設定完成後,如下安裝LAME開發包。
$ sudo yum --enablerepo=rpmfusion-free-updates install lame-devel
在2015年1月,RPM Fusion倉庫已經不可以在CentOS/RHEL 7中可用了。因此,這個方法不能用在CentOS/RHEL 7 中。這時你就要從原始碼安裝LAME庫了(下面會描述)。
在Debian、Ubuntu或者Linux Mint中從原始碼編譯LAME庫
如果你希望用不同的編譯選項安裝自定義的LAME庫,你需要自己編譯。下面是怎樣在基於Debian的系統中編譯和安裝LAME庫(和它的標頭檔案)。
$ sudo apt-get install gcc git
$ wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
$ tar -xzf lame-3.99.5.tar.gz
$ cd lame-3.99.5
$ ./configure --enable-static--enable-shared
$ make
$ sudo make install
注意當你執行上面的設定步驟時,你可以根據你的需求啟用會禁止不同的選項。執行下面的命令檢視不同的編譯選項。
$ ./configure --help
共用/靜態的LAME庫預設安裝在 /usr/local/lib。要讓共用庫可以被其他程式使用,完成最後一步:
用編輯器開啟 /etc/ld.so.conf,加入下面這行。
/usr/local/lib
接著執行下面的命令,這會將/usr/local/lib中的共用庫新增到動態載入快取中,因此LAME庫就可以被其他程式呼叫了。
$ sudo ldconfig
在Fedora或者CentOS/RHEL中從原始碼編譯LAME庫
如果你的發行版(比如 CentOS 7)沒有提供預編譯的LAME庫,或者你想要自定義LAME庫,你需要從原始碼自己編譯。下面是在基於Red Hat的系統中編譯安裝LAME庫的方法。
$ sudo yum install gcc git
$ wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
$ tar -xzf lame-3.99.5.tar.gz
$ cd lame-3.99.5
$ ./configure --enable-static--enable-shared
$ make
$ sudo make install
執行make之前,你可以在configure中帶上合適的選項自定義編譯選項。你可以用下面的命令檢查可用的選項:
$ ./configure --help
最後你需要完成最後一步,因為安裝在/usr/local/lib的LAME共用庫可能在其他程式中不可用。
在/etc/ld.so.conf中新增下面這行:
/usr/local/lib
接著執行下面的命令。這會新增 /usr/local/lib中的共用庫(包括LAME)到動態載入快取中,讓其他程式可以存取到。
$ sudo ldconfig
本文永久更新連結地址:http://www.linuxidc.com/Linux/2015-04/116727.htm
相關文章