根据步骤编译alsa音频库之后,用eclipse编程用到所编译的alsa库时,由于设置问题,久久编译不能成功,在网上查找中不得果,
苦思冥想许久终成功。
讲解设置之前先简单的介绍一下创建工程:
1.创建工程
File-->New-->C Project
在Project name键入工程的名称,要想修改工程所在路径,吧Use default location前的勾去掉,Browse...键入新路径
再选空工程,右侧的选项有两个
Cross GCC编译之后的文件能在开发板上运行,Linux GCC编译之后在PC机上运行,我要在开发板上运行。选了第一个。
Next
根据需要自己选择,Next
此处键入交叉编译器的名称及路径,Finish完成工程的创建。
2.编写源码
(1)生成头文件
点击菜单File->New->Header File新建一个头文件*.h
(2)生成源文件
点击菜单File->New->Source File新建一个头文件*.c
(3)编写main.c
点击菜单File->New->Source File新建一个头文件main.c
3.编译与运行
点击菜单Project->Build Project或点击工具栏中的“锤子”按钮编译工程
由于我的音频工程用到自己编译的alsa库,设置如下:
Project-->Properties-->C/C++-->Settings
Includes此处设置头文件.h的路径
Libraries此处设置库文件所在路径。Libraries(-l)下写的库文件名称,前面的lib和后面的so以后都不添加,再次编译即可成功!!!!!!!!!
虽然能编译成在开发板上可执行文件,但执行过程出现问题:在网上寻找得出以下结论:
生成的库
alsa_lib$ ls
bin include lib share
在这个文件lib下的库*.so.*是要发布到板子上去的,可以直接copy到开发板的根目录lib下,不把.so文件拷贝到开发板的lib里也是不可执行的。
alsa的配置文件拷贝
除了库之外alsa的配置文件也需要拷贝到目标板根文件系统中
这里需要注意的是share目录在目标板的存放位置必须和在主机的存放路径一致,为了以后找不到什么配置文件,我把编译库的整个文件夹都拷贝进去了
在主机上我存放在/usr/share/arm-alsa,
那么我就得把share放在目标板上的这个路径里
($rootfs)/usr/share/arm-alsa
在开发板上运行自己的录音,放音可执行文件,均成功!!!!!!!高兴
好长时间终于可以录音放音了。
在生成的可执行文件Debug目录下./Recording >sound.raw就可录音了。。。哇咔咔
简单的音频程序参考
阅读(1164) | 评论(0) | 转发(0) |