原文出至 http://blog.csdn.net/vieri_ch/article/details/40650467 最近升级了系统到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.9…
前言 为了保证音频格式在多端通用,需要将音频转化为MP3格式,本文讲解了如何使用Shell脚本来编译lame库. 编译脚本 #!/bin/sh CONFIGURE_FLAGS="--disable-shared --disable-frontend" ARCHS="arm64 armv7s armv7 x86_64 i386" MIN_VERSION="10.0" # directories SOURCE="lame" FAT…
近期升级了系统到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…
问题: No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=arm64, VALID_ARCHS=armv7 armv7s) 解决: Project ->Target->Build Setting ->搜索 Build Active Architecture Only ->把值改成NO…
iOS: FFmpeg编译和使用问题总结 折磨了我近一周多时间的FFmpeg库编译问题终于解决了,必须得把这一段时间来遇到过的坑全写出来.如果急着解决问题,编译最新版本的FFmpeg库请直接看第二部分,编译较老版本(0.7)的FFmpeg库请直接跳至第七部分,那里有你想要的编译脚本,但别忘了抽空看看全文. 一.背景 网上有很多FFmpeg编译配置的资料,大部分都是关于FFmpeg最新的版本(2.0)的,我一开始也想着编写一个2.0版本的,可以放到接手的那个项目中,发现各种问题(无法快进,没有声音…
响应2月底appstore 64位APP的上线要求,开始编译IOS arm64版本引擎库.编译arm64遇到一些问题,在此记录. 1. 数据类型的错误 __int64 相关,提示error: expected  ';' after top level declaratortypedef __int64 int64_t;typedef unsigned __int64 uint64_t;改为typedef long long int64_t;typedef unsigned long long u…
网络上搜索“ios ffmpeg 编译”,文章一大把,但我编译还是费了很大的功夫才编译成功.很多文章只是把步骤列了出来,但是每个人的系统环境,或者程序版本都不一样,结果出现各种的错误.我把自己编译过程中碰到错误以及解决办法写出来,希望有需要的朋友少走弯路. 1.下载ffmpegc-master包 ffmpegc-master github链接:https://github.com/lvjian700/ffmpegc 包里面已经包含了install-gas.sh和install-ffmpeg.sh…
如果想要在ios下编译opencv 需要安装Cmake 这里通过homebrew 来安装cmake ios下打开终端然后先安装 homebrew :(mac 下自带ruby) ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 然后安装Cmake: brew install cmake 装好cmake之后就可以使用git 下载opencv 源码了具体操作如下:…
我用的插件版本是:classpath 'com.android.tools.build:gradle-experimental:0.4.0',AS集成和使用ndk编译项目参考官方demo:https://github.com/googlesamples/android-ndk 正常情况下配置下图所示即可编译指定平台的.so文件…
与java和.net一样,objc也由类库的概念,不过在在objc上一般叫库,库表示程序代码集合,可以共享给其他程序使用,库是编译后的二进制文件,因此不能看到源代码,多用于一些开放sdk(如百度地图sdk),商用库,这两天在研究iOS上编译静态库,这里把编译的过程和中间遇到的一些问题做一下记录,方便以后查阅 objc上的库一般分为两类 静态库: .a 和 .framework .a文件:纯二进制文件,需要配合.h文件一起使用,通过.h文件引用库里面的内容 .framework文件:包含二进制文件…
Xamarin.iOS项目编译提示Could not AOT the assembly 错误信息:Could not AOT the assembly **************.dll 这个错误是由于AOT编译文件太大造成的.用户可以尝试修改编译选项.在项目属性窗口中,设置iPhone Build Options,选择Linker Behavior中的Link all assemblies选项…
新闻 <iPhone 6/6 Plus中国销量曝光:单月销量650万>:据iSuppli Corp.中国研究总监王阳爆料,iPhone 6和iPhone 6 Plus在国内受欢迎的情况大大超过预期,苹果在中国的单月销量在11月超过了650万台,全年在中国的销量将超过4000万台. 教程 < Date parsing performance on iOS>:文章介绍了一个关于格式化时间的”黑科技“,作者使用 sqlite 替换 NSDateFormatter,提高了16倍的转换效率.…
http://www.cnblogs.com/findumars/p/7841252.html 提高Android和iOS调试编译速度   如果您使用Delphi开发App,就会遇到:Android和iOS的编译实现是太慢了,尤其是debug.这个小技巧使得编译Debug能快不少.   可能你已经知道了这个方法,如果这样设置,那一定为之开心.   您认为Release版本比Debug版本编译需要更长时间,因为它必须执行一堆代码优化阶段,告诉你,实际情况与此相反,在Debug模式下构建适用于iOS…
APP改版测试后准备Archive发布时,结果居然出现题目中的错误提示.查了一下,如果archive的时候没有选[iOS](http://lib.csdn.net/base/ios)  Devices而是模拟器,会出现这个错误提示.另一种情况就是我项目中的:用到了一些其它的结构包含x86_64, i386的framework.可以在终端使用 $ lipo -info workspacePath/XXX.framework/XXX命令来检查一下framework. 解决方法是生成binary的时候…
armv6.armv7.armv7s是arm CPU的指令集,原则上是向下兼容的,如:iPhone4sCPU支持armv7,但它会兼容armv6,只是使用armv6指令可能无法充分发挥它的特性.iphone5CPU支持armv7s,它也会兼容armv7. 如果引用到第三方的库,以前在iphone4s下编译没有问题,但是换成iphone5之后,提示: Undefined symbols for architecture armv7s:  "_OBJC_CLASS_$_AMapView",…
今天对原来项目文件进行重新整理,根据文件内容进行分类,结果复制粘贴时没注意把一个文件复制了两遍 编译的时候就出现Duplicate Symbol Error 在网上搜素了一圈发现也有人遇到过这个问题,看了下问题的答案后找到了问题所在 http://stackoverflow.com/questions/2264455/iphone-duplicate-symbol-error…
ffmpeg是一个多平台多媒体处理工具,处理视频和音频的功能非常强大.目前在网上搜到的iOS上使用FFMPEG的资料都比较陈旧,而FFMPEG更新迭代比较快: 且网上的讲解不够详细,对于初次接触FFMPEG的新手(例如我)来说确实不太好使用.为了防止忘记,这里对iOS下使用FFMPEG做一个总结. 1. FFMPEG层次结构的简单理解 要使用FFMPEG,首先需要理解FFMPEG的代码结构.根据志哥的提示,ffmpeg的代码是包括两部分的,一部分是library,一部分是tool.api都是在l…
描述:为了适配iPhone 5s的64位处理器,在编译选项中加入了arm64架构.但是发现工程在真机上可以编译通过但是在模拟器上却未编过. 问题解决:经研究在编译选项中再加入x86_64架构,重新编译工程就可以在模拟器上编译成功了. 可以这样理解armv7 , armv7s对应真机的32位处理器,i386对应模拟器的32位模拟器:arm64对应真机的64位,x86_64对应模拟器的64位. 使用了静态库,真机测试时正常,而在执行for iOS Device测试时报这个错误,很可能是因为静态库支持…
转自:http://www.th7.cn/Program/IOS/201408/268371.shtml 问题描述:为了适配iPhone 5s的64位处理器,在编译选项中加入了arm64架构.但是发现工程在真机上可以编译通过但是在模拟器上却未编过. 问题解决:经研究在编译选项中再加入x86_64架构,重新编译工程就可以在模拟器上编译成功了. 可以这样理解 armv7 , armv7s对应真机的32位处理器, arm64对应真机的64位模拟器, i386对应模拟器的32位模拟器: x86_64对应…
一.报错与警报 1.错误代码:No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=armv7 armv7s) build 这个target的时候命令行报错.可以在 build setting 中,搜索bitcode,并吧 enable bitcode 设置为 NO. 2.ld:framework not found IOKit 终端输入以下2行内容: cd/Applicati…
环境:xcode9mac os 10.13 1.下载boost库并解压2.cd到解压后的文件包内,执行 sh bootstrap.sh(解压后会得到这个脚本文件).3.执行./b2 编译整个库.4.经过一段时间编译后,得到编译后的头文件和库文件.5.运行 sudo ./b2 install 命令 将编译后的库安装到系统默认路径/usr/local/include下6.这时候得到的库文件可能只是X86_64此类模拟器架构运行的库,如果需要真机库需要在第3步之后按照实际情况运行以下脚本.sh myB…
一个iOS项目需要用到opencv,而且要支持arm64的,以前有个demo的,只支持32位的.到官网下载了最新支持64位库,结果编译无法通过. google了好久也没法解决,后来问了一个同事,找出原因.64位做了一些改动了.需要重新加一些头文件. 包含错误搞定了,其它问题又来了,c++编译库和另外的一个工程冲突.只能修改了,慢慢一个一个排除问题. 终于搞定了. 总结几点: 1.根据错误提示,定位具体问题位置,通过相关lipo -info 查找引用库支持的版本 2.不要去怀疑官方版的问题,那是浪…
xcode是6.3版的,ios sdk 是8.3的, 到http://www.openssl.org/source/下载最新版本openssl-1.0.2a 解压后用文本编辑器打开configure文件, ---------------------------------------------------------------------------------------------------------------------------------------------------…
lame框架将PCM录音转成MP3格式 1.lame下载地址:https://github.com/rbrito/lame,它是一个不可执行的文件,需要借助build-lame.sh脚本将其编译成.a静态包. 2.build-lame.sh下载地址:https://github.com/kewlbear/lame-ios-build 3.解压下载的lame-ios-build-master框架, 将build-lame.sh 拷贝到 /Users/xxx/xxx/lame/lame-origin…
armv6 iPhone.iPhone 3G iPod 1G.iPod 2G armv7 iPhone 3GS.iPhone 4 iPod 3G.iPod 4G.iPod 5G iPad.iPad 2.iPad 3.iPad Mini armv7s iPhone 5.iPhone 5C iPad 4 arm64 iPhone 5S iPad Air, Retina iPad Mini armv7 是比较早的版本,报这个错我直接给删了. 修改valid architechtures 删除armv7…
1.在运行工程时,出现错误如下所示: Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_XXXXX", referenced from: objc-class-ref in XXXXXXXXXXX.o" ld: symbol(s) not found for architecture x86_64 这种事说明编译没问题,运行连接时出现了问题,找不到导入的目标文件.我们只需要导入xxxx.h和xxxx.m文件即可…
1."std::ios_base::Init::~Init()", referenced from 答1: 如果出现这样的编译问题,是需要再加进libstdc++.dylib和libstdc++.6.dylib(为6.1使用) 2.apple Mach-o Linker error 答2: 通常是因为compile source中有相同的.m文件 3.如果在真机中进行测试时出现failed to get the task for process, 答3:有可能是证书出了问题. 4.如果…
最近研究了一下iOS的自动化编译,目的是为了简化测试和开发的同学沟通协调的次数,实现测试同学可以随时从网页操作编译SVN最新源码并打包ipa进行测试. 具体思路是通过从配置文件读取需要编译的项目配置列表展示在网页上,测试同学选择需要编译的项目,确定后将选择项目的相关参数传入shell脚本运行,编译完成自动跳转至下载页面. 主要流程包括: Shell脚本的编写.通过xcodebuild和xcrun实现自动编译并打包. PHP调用脚本.开启OS X自带的Apache服务器,编写PHP来调用shell…
在我们写代码过程中可能会经常遇到这样一个错误: <span style="font-size:32px;color:#ff0000;">ld: 4 duplicate symbols for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)</span> 如图: 仔细读一下报错原因可以发现几个关键词:"d…
准备工作 买一台 mac 下载并安装 Xcode 下载源码 git clone git://git.webkit.org/WebKit.git WebKit 这个可能要耗费很久很久 编译源码 打开 Xcode 为 ios 模拟器 build 命令行工具的权限 sudo ./WebKit/Tools//Scripts/configure-xcode-for-ios-development 否则,会报错如下 target specifies product type 'com.apple.produ…