libx264編譯
『壹』 用mingw編譯x264出來的libx264.a和libx264.lib是一樣的么
.lib不可以在vc裡面調用,它只是一個函數的入口,就像是需要調用某個函數時就到.lib中查,就可以知道函數在與.lib同名的.dll庫中。真正用到的是.dll庫。
.a可以進一步編譯成.dll庫。
.lib不可以再編了,所以不能直接改。
windows中能用的庫只有.dll,但是需要.lib庫作為函數的入口。
『貳』 ubuntu怎樣安裝libx264-146
1).安裝依賴的包:
code:
sudo apt-get update
sudo apt-get install build-essential git-core checkinstall texi2html libfaac-dev \
libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev \
libvorbis-dev libx11-dev libxfixes-dev zlib1g-dev
2.安裝Yasm:x264需要使用yasm來針對CPU架構進行優化,提高性能。
code:
cd
wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz
tar xzvf yasm-1.2.0.tar.gz
cd yasm-1.2.0
./configure
make
make install
3.安裝x264:下載源代碼、編譯、安裝
code:
cd
git clone git://git.videolan.org/x264
cd x264
./configure --enable-shared //動態庫
make
make install
4.此時 libx264.so默認安裝在/usr/local/lib,直接編譯會出現
tmux: error while loading shared libraries: libx264.so.2: cannot open shared object file: No such file or directory
原因就是已經安裝了該共享庫, 但執行需要調用該共享庫的程序的時候, 程序按照默認共享庫路徑 /usr/lib 找不到該共享庫文件.
如果共享庫文件安裝到了/usr/local/lib(很多開源的共享庫都會安裝到該目錄下)或其它"非/lib或/usr/lib"目錄下, 那麼在執行ldconfig命令前,
還要把新共享庫目錄加入到共享庫配置文件/etc/ld.so.conf中, 如下:
# cat
/etc/ld.so.conf
include ld.so.conf.d/*.conf
# echo
"/usr/local/lib" >> /etc/ld.so.conf
# ldconfig