编译ios库,如何在服务器上编译iOS项目

1,如何在服务器上编译iOS项目可以参考这个链接: http://www.saurik.com/id/4 。
2,Mac上交叉编译iOS静态库本文主要以 fftw 为例子,进行iOS静态库的编译 。环境要求:运行脚本如下:
3,如何编译ios 静态库 release版本如何用NERO将.ISO文件正确刻录可启动光盘在主界面→复制和备份→将映像刻录到光盘上→在“打开”中找到需要刻录的景像文件→在“刻录编译”中选择“24X”、“光盘一次刻录”、“1”份→点“刻录” 。.a静态库不能进行反编译,反汇编的可能性也极低 。静态库:静态库仅在程序启动时被连接使用,程序运行时将不再需要该静态库 。与静态库相对的是动态库:程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在 。【编译ios库,如何在服务器上编译iOS项目】
4,ios 能编译动态库吗一、创建FrameWork工程新建工程,选择创建FrameWork工程或者静态库(Static Library) 。二、选择导出的头文件和资源文件将需要封装的代码直接拖进 。这时,Xcode便会自动将需要导出的头文件和资源文件方放好 , 你自己也可以根据需要来进行调整 。三、生成FrameWork直接Run该工程,便可创建FrameWork动态库 。但是,需要注意的是,如果你是运行在模拟器上,则产生的动态库的编译版本只能是支持 i386 和 x86_64 版本 。如果是运行在真机上,则只能产生 arm64 armv7 armv7s 三种架构 。这两者需要分别单独提供给其他开发人员来使用 , 如果需要生成一个通用版的动态库 , 则需要进行合并 。lipo -create libCryptSecurity.framework/libCryptSecurity libCryptSecurity1.framework/libCryptSecurity -output ~/Desktop/libt但是需要注意 , 如果你要控制安装包的大小的话,合并之后的库文件大于合并之前两者的总和 。四、简化合并操作如果每次库文件有改动,都需要重新打包并合并,想来是一件非常繁琐的工作 , 这时候可以用一个 Aggregate 的Target 来进行合并:打开 File->New->Target,选择 Aggregate。在生成的代码里面粘贴如下的 script 脚本 。代码:[objc] view plain copy# Sets the target folders and the final framework product. # 如果工程名称和Framework的Target名称不一样的话,要自定义FMKNAME # 例如: FMK_NAME = "MyFramework" FMK_NAME=$# Install dir will be the final output to the framework. # The following line create it in the root folder of the current project. INSTALL_DIR=$# Working dir will be deleted after the framework creation. WRK_DIR=build DEVICE_DIR=$SIMULATOR_DIR=$# -configuration $# Clean and Building both architectures. xcodebuild -configuration "Release" -target "$xcodebuild -configuration "Release" -target "$# Cleaning the oldest. if [ -d "$then rm -rf "$fi mkdir -p "$cp -R "$# Uses the Lipo Tool to merge both binary files (i386 + armv6/armv7) into one Universal final product. lipo -create "$rm -r "$open "$选中新建的Target->Run 。这时候 Build 的FrameWork 就会自动弹出来5,mapbox怎么编译ios版本的accadadbbb 不确定哈方法/步骤从网上下载arm-linux-gcc 4.4.3的源码进入Linux的终端 , 将当前目录设为arm-linux-gcc的下载目录 , 输入tar -xzf arm-linux-gcc-4.4.3.tar.gz,将文件解压,解压后会有一个opt的文件夹 。在/usr/local/下建立一个名为arm的文件夹,在终端中输入命令:cd/usr/local/,回车,然后再输入命令:mkdir arm,建立arm目录,并修改该文件夹的属性为rwx,输入命令:chmod 777 arm将之前解压得到的opt文件压下的源码,复制到上一步中创建的arm文件夹下,在终端中输入命令:sudo cp -r /opt/FriendlyARM/toolschain/4.4.3/usr/local/arm到这里已经基本安装好了 , 到为了避免每次使用arm-linux-gcc时都要输入它所在的完整路径,所以这里我们要修改一下环境变量$PATH 。在终端中输入:sudogedit/etc/profile,打开profile文件 , 在最后一行加上“export PATH=$PATH:/usr/local/arm/4.4.3/bin”然后保存文件 。立即使新的环境变量生效 , 输入:source/etc/profile 。再输入:echo $PATH查看环境变量,如图 。如果不成功,则直接重新启动系统,再查看 。因为之前我已经安装过了 , 为了演示 , 所以图中会有两个/usr/local/arm/4.4.3/bin 。最后检查是否安装完成,输入:arm-linux-gcc -v查看版本信息,如果出现以下信息 , 则说明安装成功 。6,C通过什么编译器编译成的静态库给ios调用用的是gcc编译器或者xcode编译就可以 。在开发过程中 , 经常会碰到一些在不同工程中经常用到的部分,把这些部分抽取出来做成一个静态库往往是一个比较好的做法 。xcode里就有制作静态库的模板 , 相关的制作步骤网上也有很多,但在实际的操作中,还是有不少细节方面需要注意 。以下是我碰到的一些问题总结 。1.编译release版本的库在“Manage Schemes”中,将“Build Configuration”的选项改为“Release”即可 。如图:2.静态库中包含category如果你在静态库工程中使用了category , 那么你可能会碰到链接问题,解决的办法就是需要同时在生成静态库的工程和使用静态库的工程中使用“-all_load”编译选项,即在对应target的"Build Settings"中的“Other Linker Flags”选项添加“-all_load” 。注意:使用静态库的工程中是一定要加该编译选项的?。≈劣谏删蔡獾墓こ讨屑硬患用挥惺怨?不过建议还是加上该编译选项 。3.静态库支持的SDK版本为了使自己的静态库尽可能多的支持IOS的系统版本 , 应该在"IOS Deployment Target"这个选项中选择自己所需的IOS版本 。设置如下图,这个是我的静态库工程中的配置,红框框起来的是我修改过的选项 。4.自动拷贝头文件在工程对应的target的“Build Phases”下添加“Copy Headers”的选项 。该选项默认是没有的,添加方法是点击下方的“Add Build Phase”按钮后选择后即可添加 。该选项下有3个子选项,分别是Public,Private,Project 。通过点击下方的加号 , 可以将工程中的头文件添加到“Project”中,在其中的对应头文件点击右键,选择“Move to Public Group”,当头文件移到“Pulic”后,编译工程以后,在工程编译后.a文件所在的路径下,会同时出现一个"usr/local/include"的文件夹,其中的头文件就是public group中的头文件 。这时只需将.a文件和这个路径下的头文件拷贝到所需工程文件即可 。转载用的是gcc编译器或者xcode编译就可以 。在开发过程中,经常会碰到一些在不同工程中经常用到的部分,把这些部分抽取出来做成一个静态库往往是一个比较好的做法 。xcode里就有制作静态库的模板,相关的制作步骤网上也有很多,但在实际的操作中,还是有不少细节方面需要注意 。以下是我碰到的一些问题总结 。1.编译release版本的库在“Manage Schemes”中,将“Build Configuration”的选项改为“Release”即可 。如图:2.静态库中包含category如果你在静态库工程中使用了category , 那么你可能会碰到链接问题 , 解决的办法就是需要同时在生成静态库的工程和使用静态库的工程中使用“-all_load”编译选项,即在对应target的"Build Settings"中的“Other Linker Flags”选项添加“-all_load” 。注意:使用静态库的工程中是一定要加该编译选项的?。≈劣谏删蔡獾墓こ讨屑硬患用挥惺怨? ,不过建议还是加上该编译选项 。3.静态库支持的SDK版本为了使自己的静态库尽可能多的支持IOS的系统版本 , 应该在"IOS Deployment Target"这个选项中选择自己所需的IOS版本 。设置如下图,这个是我的静态库工程中的配置,红框框起来的是我修改过的选项 。4.自动拷贝头文件在工程对应的target的“Build Phases”下添加“Copy Headers”的选项 。该选项默认是没有的,添加方法是点击下方的“Add Build Phase”按钮后选择后即可添加 。该选项下有3个子选项,分别是Public,Private,Project 。通过点击下方的加号 , 可以将工程中的头文件添加到“Project”中,在其中的对应头文件点击右键,选择“Move to Public Group”,当头文件移到“Pulic”后 , 编译工程以后,在工程编译后.a文件所在的路径下,会同时出现一个"usr/local/include"的文件夹 , 其中的头文件就是public group中的头文件 。这时只需将.a文件和这个路径下的头文件拷贝到所需工程文件即可 。转载编译时加参数就可以把它编译成静态库GNU 的调试器称为 gdb,该程序是一个交互式工具 , 工作在字符模式 。在 X Window 系统中,有一个 gdb 的前端图形工具,称为 xxgdb 。gdb 是功能强大的调试程序,可完成如下的调试任务:* 设置断点;* 监视程序变量的值;* 程序的单步执行;* 修改变量的值 。在可以使用 gdb 调试程序之前,必须使用 -g 选项编译源文件 。可在 makefile 中如下定义 CFLAGS 变量:CFLAGS = -g运行 gdb 调试程序时通常使用如下的命令:gdb progname在 gdb 提示符处键入help,将列出命令的分类,主要的分类有:* aliases:命令别名* breakpoints:断点定义;* data:数据查看;* files:指定并查看文件;* internals:维护命令;* running:程序执行;* stack:调用栈查看;* statu:状态查看;* tracepoints:跟踪程序执行 。键入 help 后跟命令的分类名,可获得该类命令的详细清单 。用的是 gcc 编译器或者xcode 编译就是了编译时加参数就可以把它编译成静态库

    推荐阅读