Centos安装madplay步骤、资源、播放音乐以及共享库路径问题解决

Centos安装madplay步骤、资源、播放⾳乐以及共享路径问题解决
我根据⽹上的安装步骤,基本都可以完成到最后⼀步,但是当我进⾏⾳乐播放的时候(即直接输⼊madplay的时候),出现了:
error while loading shared libraries: libnet.so.1:cannot open shared object file :No such file or directory”的错误提⽰。
解决办法是:输⼊ldconfig
输⼊madplay后,后⾯出现如图所⽰
即表⽰安装成功。
播放⾳乐:输⼊ madplay -o wav:- test.mp3 | aplay
----------------------------------------------------------------------------------
⼀、问题出现的原因
原因是Linux下的共享库路径配置不正确。默认的linux共享库搜索路径为/lib和/usr/lib两个⽬录(不包含⼦⽬录),若共享库不在这两个路径(最典型的就是/usr/local/lib),不能被⾃动动态链接到,解决⽅法有四种:
1,链接时使⽤静态库(.a⽂件)。在g++命令上写⼊改.a⽂件的完整路径。
2,修改LD_LIBRARY_PATH环境变量。(临时有效,且有时候没有效果)
3,将库⽂件复制到可以搜索到的路径⾥⾯,这样⽐较狠,但是可能导致⼀些后即问题。
4,添加搜索路径,使⽤ldconfig命令(下⾯详细介绍)。
ldconfig⼏个需要注意的地⽅
酿酒酵母1. 往/lib和/usr/lib⾥⾯加东西,是不⽤修改/etc/f的,但是完了之后要调⼀下ldconfig,不然这个library会不到
2. 想往上⾯两个⽬录以外加东西的时候,⼀定要修改/etc/f,然后再调⽤ldconfig,不然也会不到
⽐如安装了⼀个mysql到/usr/local/mysql,mysql有⼀⼤堆library在 /usr/local/mysql/lib下⾯,这时就需要在/etc/f下⾯加⼀⾏/usr/local/mysql/lib,保存 过后ldconfig⼀下,新的library才能在程序运⾏时被到。
3. 如果想在这两个⽬录以外放lib,但是⼜不想在/etc/f中加东西(或者是没有权限加东西)。那也可以,就是export⼀个全局
变 量LD_LIBRARY_PATH,然后运⾏程序的时候就会去这个⽬录中library。⼀般来讲这只是⼀种临时的解决⽅案,在没有权限或临时需要的时 候使⽤。
4. ldconfig做的这些东西都与运⾏程序时有关,跟编译时⼀点关系都没有。编译的时候还是该加-L就得加,不要混淆了。
5. 总之,就是不管做了什么关于library的变动后,最好都ldconfig⼀下,不然会出现⼀些意想不到的结果。不会花太多的时间,但是会
省很多的事。
1.准备
湖北日报
需要准备的库⽂件有zlib-1.1.,libid3tag-0.15.,libmad-0.15.,madplay-0.15.。
zlib-1.1.4.tar.tar⽤于⽂件的压缩和解压
libid3tag-0.15. mp3的解码库
libmad-0.15. madplay的库⽂件
madplay-0.15. 播放程序的压缩包,mp3播放器的源码。
注意:查看是否安装了gcc和g++:
#whereis gcc
#whereis g++
如果没有安装,则需要在root下安装编译器:
#yum install gcc
#yum install gcc-c++
2.解压
驻波1)建⽴存放的⽬标⽬录:
建⽴MP3⽬录 mkdir /mp3
例如:# mkdir /home/admin/mp3
2)分别解压上⾯⼏个⽂件
tar -xzvf /⽂件⽬录/⽂件名. -C /⽬标⽬录/
例如:
# tar -xzvf /home/admin/Desktop/zlib-1.1. -C /home/admin/mp3/
# tar -xzvf /home/admin/Desktop/libid3tag-0.15. -C /home/admin/mp3/    # tar -xzvf /home/admin/Desktop/libmad-0.15. -C /home/admin/mp3/    # tar -xzvf /home/admin/Desktop/madplay-0.15. -C /home/admin/mp3/ 3.编译zlib
1)回到zlib解压的路径下
例如:# cd /home/admin/mp3/zlib-1.1.4/
2)执⾏以下命令:
a.⽣成Makefile
./configure
b.make⽣成libz.a库
make
c.再把⽣成的库安装到系统中,在/usr/local/lib中
make install
4.编译libid3tag
1)回到libid3tag解压的路径下
例如:
cd /home/admin/mp3/libid3tag-0.15.1b/
2)执⾏以下命令:
a.⽣成Makefile
./configure
b.make⽣成libz.a库
make
c.再把⽣成的库安装到系统中,在/usr/local/lib中结晶紫
make install
5.编译libmad
1)回到libmad解压的路径下
例如:
围棋大战
cd /home/admin/mp3/libmad-0.15.1b/
2)执⾏以下命令:
a.⽣成Makefile
./configure
b.make⽣成libz.a库
make
c.再把⽣成的库安装到系统中,在/usr/local/lib中
gold missmake install
注意:在执⾏命令:# make时出错
error: unrecognized command line option “-fforce-mem”
原因是:gcc 3.4 或者更⾼版本,已经将其去除了,所以会出现上⾯的错误。
解决⽅式是:到libmad configure之后的Makefile,到包含"-fforce-mem"字符串,将其删除,就可以了。如果删除字符串后⽆法保存,可另存为其他名字,删了⽬录下的Makefile,再把另存为的⽂件重命名。
6.编译madplay
1)回到madplay解压的路径下
例如:
cd /home/admin/mp3/madplay-0.15.2b/
2)执⾏以下命令:
a.⽣成Makefile
./configure
b.make⽣成libz.a库
make
c.再把⽣成的库安装到系统中,在/usr/local/lib中
make install

本文发布于:2024-09-23 16:16:09,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/214757.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:路径   安装   没有   时候   共享   东西   解压   需要
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议