Chinaunix首页 | 论坛 | 博客
  • 博客访问: 110443
  • 博文数量: 24
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 270
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-30 18:17
文章分类

全部博文(24)

文章存档

2010年(21)

2009年(3)

我的朋友

分类: LINUX

2010-01-15 13:49:07

ALSA交叉编译

1,  下载alsa-lib-1.0.15rc2.tar.bz2

 

或者

2,  tar jxvf alsa-lib-1.0.15rc2.tar.bz2

cd alsa-lib-1.0.15rc2

          ./configure --host=arm-none-linux-gnueabi --prefix=/home/part2/alsa-lib

          make & make install

          这时在/home/part2/alsa-lib目录下就产生了一些头文件了。

       3/home/part2/alsa-lib-1.0.15rc2/test目录下有一些示例,我们可以试着交叉编译一下。

arm-none-linux-gnueabi-gcc -I/home/part2/alsa-lib/include -L/home/part2/alsa-lib-1.0.15rc2/src/.libs/ -lasound -o control control.c

注意这里一定要加上-L/home/part2/alsa-lib-1.0.15rc2/src/.libs/,否则会找不到alsa库,网上一些文章都没有加这个链接。

结果是没有问题的。但如果每次编译都输入这么一长串,很不方便,所以最好写个通用的Makefile文件,要编译时就make一下就OK了。

如下:

#Makefile

CC=arm-none-linux-gnueabi-gcc

 

TARGET=target

SRC=$(wildcard *.c)

 

OBJECT= ${SRC:.c=.o}

INCLUDES=-I/home/part2/alsa-lib/include

LIBPATH=-L/home/part2/alsa-lib-1.0.15rc2/src/.libs/

LDFLAGS=-lasound

 

all:$(TARGET)

 

$(OBJECT):$(SRC)

       $(CC) -c $(INCLUDES) $<

 

$(TARGET):$(OBJECT)

       $(CC) -o $@ $< $(LIBPATH) $(LDFLAGS)

 

.PHONY:clean

 

clean:

       @rm -rf $(OBJECT) $(TARGET) *~

 

------------------------------------------
本文乃原创!
转载请注明出处:http://sparklecliz.cublog.cn/
------------------------------------------
阅读(2687) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~