前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spidermonkey_gomonkey

Spidermonkey_gomonkey

作者头像
全栈程序员站长
发布2022-11-03 16:08:13
4300
发布2022-11-03 16:08:13
举报
文章被收录于专栏:全栈程序员必看

参考如下:

最近升级了系统到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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月16日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档