faac库的编译与移植
来源:互联网 发布:战龙三国张郺进阶数据 编辑:程序博客网 时间:2024/06/05 05:59
Advanced Audio Coding。一种专为声音数据设计的文件压缩格式,与Mp3不同,它采用了全新的算法进行编码,更加高效,具有更高的“性价比”。利用AAC格式,可使人感觉声音质量没有明显降低的前提下,更加小巧;
FAAC开源工程源码下载链接: FAAC库下载地址
本人下载的都是gz后缀的文件;
解压之后进入目录;
下面编译成X86的库,编译器默认是GCC;
1. ./configure --prefix="path"
2. sudo make
3. sudo make install
--prefix 指定编译后,相关库文件存放的路径;
编译FAAC-1.28时遇到错误:
mpeg4ip.h:126: error: new declaration ‘char* strcasestr(const char*, const char*)’
解决方法:
从123行开始修改此文件mpeg4ip.h,到129行结束。
修改前:
#ifdef __cplusplus
extern "C" {
#endif
char *strcasestr(const char *haystack, const char *needle);
#ifdef __cplusplus
}
#endif
修改后:
#ifdef __cplusplus
extern "C++" {
#endif
const char *strcasestr(const char *haystack, const char *needle);
#ifdef __cplusplus
}
#endif
下面编译成arm平台的库文件:
1. ./confighre --prefix="path" --host=arm-none-linux-eabi
2. sudo make
3. sudo make install
第三步出现了一点问题,
../libtool:line XXXX:arm-none-linux-eabi-ranlib command not found
在终端检查,发现arm-none-linux-eabi-ranlib可以在系统的PATH中找到
那为什么还提示说找不到arm-none-linux-eabi-ranlib呢?
原因如下:
1.我添加arm交叉编译器目录到PATH中是放在/etc/profile里的,这是用户的配置文件,我
的用户为普通用户;
2.执行make install时,加了sudo前缀,变成了root的工作环境和root的权限。
根据以上两点,make install是在root下做的,而arm-linux-ranlib在wmm用户的工作环境
中才能找到。所以产生了这里的错误。
那我既要取得root权限,又要具有当前普通用户的工作环境,怎办呢?
解决如下:
执行make install之前,先用下sudo -i命令取得root权限。然后再执行make install。
su 和 sudo 的区别:
1.共同点:都是root用户的权限;
2.不同点:su仅仅取得root权限,工作环境不变,还是在切换之前用户的工作环境;
sudo是完全取得root的权限和root的工作环境。
注意:sudo su切换到root时原用户的环境变量也一并丢失。应使用sudo -i
然后make install,安装成功
- faac库的编译与移植
- faac 1.28的交叉编译与问题解决
- faac移植
- linux下编译faac库
- 交叉编译faac共享库
- 交叉编译faac共享库
- linux下编译faac库
- linux下编译faac和x264的库
- linux下编译faac和x264的库
- faac编译
- ffmpeg lame faad faac 的编译
- ubuntu下编译适合ndk的faac
- ubuntu下编译适合ndk的faac
- faac 移植到android
- mac 下移植 faac
- AAC音频编码库FAAC和解码库FAAD移植
- madplay的编译与移植
- faac简介、编译、使用
- hibernate的简单配置
- 关于Build Active Architecture Only属性
- Android系统启动流程 -- android层
- MongoDB在CentOS 7上的systemctl服务配置
- hdoj.1431 素数回文 20140724
- faac库的编译与移植
- ASCLL码排序
- Ubuntu 和 Windows 的 PATH 变量异同
- Eclipse Python插件 PyDev
- 记录了有些比较少见、奇葩的问题和这些问题的解决方式(会不断增加)
- CSS display:none和visibility:hidden的区别
- 在Ubuntu安装ftp服务器
- 职场35岁现象:关于职业规划的文章
- Android项目导出与引用jar包