这里以libcurl 为例:
1.首先需要下载 libcurl http://curl.haxx.se/download.html .解压...
2.打开mac上的 terminal :切换到 解压的libcurl 的目录下...
3.编译配置:
export CC=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-gcc-4.2.1
export CFLAGS="-isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk"
export LDFLAGS="-isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk -Wl,-syslibroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk"
export CPP=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/cpp
./configure --disable-shared --without-ssl --without-libssh2 --without-ca-bundle --without-ldap --disable-ldap --host=arm-apple-darwin10
以上export的版本为本机安装的 xcode sdk版本 和 gcc版本....使用时 改为自己机子安装的... 路径也可能需要变...
通过cd 到以上路径 能找到内容,即可。
配置结束后 可以看到 :Protoclols: ............TELNET TFTP
4. 编译libcurl
(1) 打开Xcode选择: File->New Project->iOS->Library->Cocoa Touch Static Library
添加文件:Add->Existing Files (选择curl中 "src"文件夹),Add->Existing Files (选择curl中 "lib"文件夹)
(2)选中工程,打开“build”选项,查找Oher_c_flags 设置下面信息
-DHAVE_CONFIG_H -I/ca/dev/code/lib/curl/curl-latest/include -I/ca/dev/code/lib/curl/curl-latest/lib
注: /ca/dev/code/lib/curl/curl-latest就是刚才解压curl源代码的路径,在本机中是 -DHAVE_CONFIG_H -I/Users/rosa/curl-7.21.7/include -I/Users/rosa/curl-7.21.7/lib
5. 利用 lipo 制作通用版本 静态库
由于libcurl在device和simulator上要选择不同的版本,因此在实际使用的时候切换起来很不方便,可以在终端上使用mac os 自带的lipo工具制作为通用版本,通用版本的大小其实就是两个版本加起来的和。命令行如下:
lipo -create /b-debug/libcurl.a /a-debug/libcurl.a -output libcurl-debug.a
分享到:
相关推荐
本篇文章将深入探讨如何使用Xcode编译静态库,这是iOS开发中常见的需求,尤其是在开发组件化或者第三方库时。 静态库是一种预先编译的代码集合,可以在编译时直接嵌入到应用中,使得应用包含了库的所有代码,不需要...
编译静态库 在完成文件的引入后,直接编译项目。成功编译后,你可以在“Products”文件夹下找到生成的静态库文件,通常命名为`lib<YourLibraryName>.a`。该文件的颜色会从红色变为黑色,表明编译过程顺利完成。 ##...
在iOS开发中,Xcode制作静态库是一种常见的技术实践,它可以帮助开发者封装代码,提高代码重用性,减少项目体积,提升应用性能。本篇将详细介绍如何使用Xcode创建和使用静态库。 首先,理解静态库的概念至关重要。...
### Xcode生成动态库和静态库的方法 #### 库介绍 在软件开发中,库是一种存储预先编写好的功能集合的方式,这些功能可以被多个程序共享和重用。库分为两大类:静态库和动态库。iOS开发环境中,Xcode支持创建这两种...
在Libarclite_Files这个压缩包中,可能包含了用于解决这类问题的特定文件,例如,它可能是一个针对旧版Xcode编译的libarclite库的替代版本,或者包含了一些帮助调试或更新库的工具和文档。解压并研究这些文件,可以...
在编译静态库之前,需要配置编译设置,包括区分Release和Debug版本。Release版本通常用于发布,而Debug版本用于开发调试。确保在"Build Settings"中设置正确的架构,例如,对于支持iPhone设备和模拟器,需要包含...
- 将所需的静态库文件(通常为`.a`文件,即编译后的静态库文件)复制到您的Xcode工程中。推荐的做法是将其放置于工程文件夹的根目录下,以便于管理。 **步骤2:将静态库添加到项目** - 打开Xcode工程左侧的导航栏...
1. **静态库**:静态库在编译时会被直接链接到目标程序中,形成一个完整的可执行文件,无需在运行时依赖额外的库文件。这使得应用程序更易于分发,但可能会增加最终应用的体积。 2. **arm64、armv7s、armv7、x86_64...
xcode 创建静态库和动态库 1、linux中静态库和动态库区别: 库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行。库分静态库和动态库两种。 静态库:这类库的名字一般是libxxx.a;利用静态函数库编译...
在Xcode环境下,为了将ZBar编译为静态库,你需要进行以下步骤: 1. 创建一个新的Xcode项目,选择“Cocoa Touch Static Library”模板。 2. 将ZBar源代码中的所有头文件(通常在include目录下)和源文件(如src目录...
注意,静态库不支持运行时动态加载资源,所以所有需要的.xib文件都需要在编译时打包进静态库。此外,如果.xib文件中使用了自定义字体或图片等资源,这些资源也需要一同打包到Bundle中,确保在运行时能够正确加载。在...
5. 编译静态库: 设置编译器为release模式,用于发布。在“Edit Schemes”中进行切换。编译后,静态库(.a文件)、头文件和bundle都会出现在Products Directory下。注意,静态库有真机版和模拟器版之分,可以通过...
在iOS开发中,静态库的编译通常涉及使用Xcode或命令行工具(如xcodebuild或gcc/clang)进行交叉编译,以支持不同的架构。编译过程中会生成一个包含所有支持架构的归档文件(.a文件),这种文件称为fat library。使用...
在终端(Terminal)中,创建一个名为`openssllibs`的文件夹,这将用于存放编译后的静态库。同时,根据OpenSSL源代码的位置,进入相应的目录,并创建用于不同架构的子目录,如`arm7`、`arm7s`和`i386`。 3. 编译i386...
- iOS开发中,静态库可以方便地添加到Xcode项目,避免了动态库的某些限制,比如App Store的审核问题。 - Windows、Mac和Linux的静态库可以被各种编程语言调用,只要它们支持C或C++接口。 4. **使用libcurl**: -...
ffmpeg 2.3.1 在xcode 5 下面的静态库编译 1. 解压本压给包 2. 将解压后的 build-ffmpeg.sh ffmpeg-2.3.1.tar.bz2 拷备到os的一个目录, 如:xxx/ffmpeg 3. 修改 build-ffmpeg.sh权限, chmod 777 build-ffmpeg.sh...
在iOS开发中,静态库(Static Library)是一种重要的组件,它可以包含预编译的代码,供其他项目直接链接使用,避免了重复编译相同代码的步骤。本篇将深入讲解如何使用Xcode4来创建静态库,这尤其适用于开发者希望...
使用静态库的好处在于可以将所有依赖的库和代码打包到一个单独的文件中,这样在编译应用时,库的所有功能都会被直接包含进可执行文件,减少了运行时的依赖性,提高了应用的部署便利性。 描述中提到的“封装已完成”...