Chinaunix首页 | 论坛 | 博客
  • 博客访问: 132790
  • 博文数量: 27
  • 博客积分: 66
  • 博客等级: 民兵
  • 技术积分: 320
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-21 19:51
文章分类

全部博文(27)

文章存档

2014年(13)

2013年(12)

2012年(2)

我的朋友

分类: 其他平台

2014-12-10 02:44:38

<--! 强烈建议不要在虚拟机挂接Windows共享目录下进行编译 -->

1.配置编译环境
 
  首先,将要使用的交叉编译器设为默认交叉编译器
  然后,在libid3tag-0.15.1b、libmad-0.15.1b、madplay-0.15.2b、zlib-1.2.3这四个文件夹的同一目录建一个文件夹(例如libz),作为存放所生成文件的地方。

  以下用目录/root/madplayer/libz 作为例子,

2.编译zlib-1.2.3

   ./configure --prefix=/root/madplayer/libz
 
   打开生成的Makefile, (没有CC等options...)

   修改CC(例如cc=arm-linux-gcc)
   修改AR(例如AR=arm-linux-ar rcs)
   修改RANLIB (例如RANLIB=arm-linux-ranlib)
   
   如果之前编译过,先 make distclean 把上次的编译结果清除
   
   make
   make install

3.编译libid3tag-0.15.1b
   
  首先,zlib-1.2.3编译完成后,才能进行此编译
  
  ./configure --prefix=/root/madplayer/libz --host=arm-linux --disable-shared CC=arm-linux-gcc 
  CPPFLAGS=-I/root/madplayer/libz/include LDFLAGS=-L/root/madplayer/libz/lib

  (欲知上述options详情 请./configure --help)

   make
   make install

4.编译libmad-0.15.1b
  
  ./configure --prefix=/root/madplayer/libz CC=arm-linux-gcc --host=arm-linux --disable-shared
   
  make
  make install

5.编译madplay-0.15.2b

  ./configure --prefix=/root/madplayer/libz CC=arm-linux-gcc --host=arm-linux --disable-shared --enable-static 
  CPPFLAGS=-I/root/madplayer/libz/include LDFLAGS=-L/root/madplayer/libz/lib

  make 在madplay-0.15.2b目录下面生成madplay的可执行文件

7.编译中,可能遇到的问题:
 
  error: libz was not found

  *** You must first install zlib (libz) before you can build this package.

  *** If zlib is already installed, you may need to use the LDFLAGS

  *** environment variable to specify its installed location, e.g. -L

.

  没有正确配置编译好zlib,参考步骤2。(如仍未通过,请查看是否使用Windows共享的目录,若是,换到其他本地目录再试)

  最后编译出来的mdaplay 在开发板上运行时出现如下所示的提示:

  madplay: error while loading shared libraries: cannot open shared object file: cannot load sharedobject file: No such file or directory

  则是因为在编译时没有设置好静态链接和共享库,正确的配置就是在编译libid3tag、libmad 和madplay 时,加上disable-shared 选项,同时(只)在madplay 的配置语句上加上enable-static设置为静态。

 转自:http://blog.163.com/kang_6530/blog/static/7219155720090525649537/
用到的配置命令:
./configure --prefix=/work/tmp
./configure --prefix=/work/tmp --host=arm-linux --disable-shared CC=arm-linux-gcc CPPFLAGS=-I/work/tmp/include LDFLAGS=-L/work/tmp/lib
./configure --prefix=/work/tmp CC=arm-linux-gcc --host=arm-linux --disable-shared
./configure --prefix=/work/tmp CC=arm-linux-gcc --host=arm-linux --disable-shared --enable-static CPPFLAGS=-I/work/tmp/include LDFLAGS=-L/work/tmp/lib

阅读(2297) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~