参考如下:
最近升级了系统到Mac OS X 10.10 并且更新了XCode6.1和iOS 8.1
之前app用到的libmp3lame.a静态库,也要支持64位的模拟器(x86_64)和64位的真机(arm64)指令集。需要重新编译
查阅了下资料,按照如下步骤,并做了些注释和改动
1.http://sourceforge.net/projects/lame/files/lame/3.99/ 下载lame的最新版本解压到一个文件夹里例如 lame,全路径如下/Users/8wm/Desktop/lame
2.下载build的脚本,我这里使用的是国外一个朋友的分享
https://github.com/kewlbear/lame-ios-build
下载之后得到lame-build.sh拷贝到文件夹/Users/8wm/Desktop/lame
3.用bbedit或者其他编辑器打开这个脚本,按照注释修改
4.打开Terminals,
输入
cd /Users/8wm/Desktop/lame
chmod 777 lame-build.sh
sudo -s#
输入系统密码
./lame-build.sh
开始编译,编译完成之后。生成fat-lame目录和thin-lame目录,分别存放合并所有指令集的静态库,以及各指令集的静态库.
根据所需,copy lame.h和libmp3lame.a文件到project里,就可以正常使用了。
可以使用命令行,查看换个库支持的指令集。
lipo -info libmp3lame.a
Architectures in the fat file: libmp3lame.a are: armv7 armv7s i386 x86_64 arm64
以下是build的脚本,请注意黄色的字和注释
#!/bin/sh
make distclean
CONFIGURE_FLAGS=”–disable-shared –disable-frontend”
ARCHS=”arm64 armv7s x86_64 i386 armv7″
# directories # SOURCE是下载lame源码包,解压后的目录,可以把sh脚本放到这个目录,source改为”” SOURCE=”” # FAT是所有指令集build后,输出的目录,所有静态库被合并成一个静态库 FAT=”fat-lame”
# SCRATCH是下载lame源码包,解压后的目录,必须是绝对路径 SCRATCH=”/Users/8wm/Desktop/lame” # must be an absolute path # THIN 各自指令集build后输出的静态库所在的目录,每个指令集为一个静态库 THIN=`pwd`/”thin-lame”
COMPILE=”y” LIPO=”y”
if [ “*” ]then if [ “*” = “lipo” ] then # skip compile COMPILE= else ARCHS=”*” if [ # -eq 1 ] then # skip lipo LIPO= fi fifi
if [ “COMPILE” ]then CWD=`pwd` echo “CWD/SOURCE………” for ARCH in ARCHS do echo “building ARCH…” mkdir -p “SCRATCH/ARCH” cd “SCRATCH/
if [ “ARCH” = “i386” -o “ARCH” = “x86_64” ] then PLATFORM=”iPhoneSimulator” if [ “
XCRUN_SDK=`echo PLATFORM | tr ‘[:upper:]’ ‘[:lower:]’` CC=”xcrun -sdk XCRUN_SDK clang -arch ARCH” #AS=”CWD/SOURCE/extras/gas-preprocessor.pl CC” CFLAGS=”-arch ARCH SIMULATOR” CXXFLAGS=”CFLAGS” LDFLAGS=”CFLAGS”
CC=CC CWD/SOURCE/configure CONFIGURE_FLAGS –host=HOST –prefix=”THIN/ARCH” CC=”CC” CFLAGS=”CFLAGS” LDFLAGS=”LDFLAGS”
make -j3 install cd $CWD done fi
if [ “LIPO” ]then echo “building fat binaries…” mkdir -p FAT/lib set – ARCHS CWD=`pwd` cd THIN/1/lib for LIB in *.a do cd CWD lipo -create `find THIN -name LIB` -output FAT/lib/LIB done
cd CWD cp -rf THIN/1/include FATfi
转载于:https://www.cnblogs.com/ldc529/p/5082419.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/181287.html原文链接:https://javaforall.cn