Mediainfo的编译安装(suse)

Mediainfo的编译安装(suse)

Mediainfo 依赖libz和libzen以及libmediainfo,编译顺序为: libz, libzen, libmediainfo
(1)编译libz(suse 11已经有了这个库,跳过此步)
./config;
make;
make install;
执行完上面的命令,会在/usr/local/lib/目录 下生成 libz.a 在/usr/local/include目录 下生成zlib.h(这个文件移植没用到)

(2)编译libzen
1.下载zenlib http://sourceforge.net/projects/zenlib/files/
2.根据ZenLib/Project/GNU/libzen_contrib.spec文件中的描述进行编译,不是所有的命令都要执行,我主要执行了以下命令
(需要安装doxygen ,在ubuntu上 sudo apt-get install doxygen)
 (autogen这个命令需要安装automake libtool ,在ubuntu上 sudo apt-get install automake;sudo apt-get install libtool)
cd ./Source/Doc;
doxygen Doxyfile;
cd -;
cd ./Project/GNU/Library
chmod +x autogen;
./autogen;
./configure  --enable-shared;
make clean;
make;
make install;
ls -lrt /usr/local/lib/libzen*;
3.如果上面的步骤执行成功,应该看到以下5个函数库:libzen.a   libzen.la    libzen.so   libzen.so.0   libzen.so.0.0  5个函数库

(3)编译libmediainfo
1.下载 http://sourceforge.net/projects/mediainfo/files/source/libmediainfo/
2.根据MediaInfoLib/Project/GNU/libmediainfo.spec文件中的描述进行编译,不是所有的命令都要执行,我主要执行了以下命令
cd ./Source/Doc/;
doxygen Doxyfile;
cd -;
cd ./Project/GNU/Library;
chmod +x autogen;
./autogen;
./configure --enable-shared;
make clean;
make;
make install;
ls -lrt /usr/local/lib/libmediainfo*
3.如果上面的步骤执行成功,应该看到以下2个函数库:libmediainfo.a libmediainfo.la

(4)编译mediainfo
1.下载 http://sourceforge.net/projects/mediainfo/files/source/mediainfo/
Mediainfo有两个版本:CLI命令行版本和GUI图形界面版本
2. MediaInfo/Project/GNU/mediainfo.spec文档中描述的有关CLI的部分进行编译
cd ./Project/GNU/CLI;
chmod +x autogen;
./autogen;
./configure;
make;
make install;
ls -lrt /usr/local/bin/mediainfo*
3.如果上面的步骤执行成功,应该看到mediainfo程序

可能遇到的问题:
1. 系统自带zlib,于是开始时没有重新安装zlib;安装zenlib没有问题,到libmediainfo时死活过不去,遂查看configure.ac发现其中用了相对路径定位zlib和zenlib,于是重来一遍,OK
2. 可能需要
export  LD_LIBRARY_PATH=/usr/local/lib (因为linux默认的函数库目录为/lib 和 /usr/lib)
export  PATH=$PATH:/usr/local/bin
3. libzen.so.0依赖/usr/lib/libstdc++.so.6 要求版本GLIBCXX-3.4.9或以上,如果你的系统上这个函数库的版本低了,就将libstdc++.so.6.0.13拷到/usr/lib下,并执行命令 ln –fs libstdc++.so.6.0.13  libstdc++.so.6 将libstdc++.so.6链接到新的函数库

本文参考了http://blog.csdn.net/yugong2009/article/details/5875998




原文地址:https://www.cnblogs.com/liyulong1982/p/2328974.html