Iphone 使用图书馆

Iphone 使用图书馆,iphone,include,Iphone,Include,我有一个内置于Macosx IBMOpenCore amrnb.a中的库。我可以将它与我的Iphone应用程序作为库一起使用吗?如果是,怎么做?如果没有,我如何让库与Iphone应用程序一起工作 谢谢, SowriMacOSX是一个X86平台,iphone使用ARM处理器,因此至少需要重新编译。不过,架构非常不同,所以像Endeanes(?)必须考虑字数。Mac osX是一个X86平台,iphone使用ARM处理器,因此至少需要重新编译。不过,架构非常不同,因此必须考虑Endeanes(?)和字

我有一个内置于Macosx IBMOpenCore amrnb.a中的库。我可以将它与我的Iphone应用程序作为库一起使用吗?如果是,怎么做?如果没有,我如何让库与Iphone应用程序一起工作

谢谢,
Sowri

MacOSX是一个X86平台,iphone使用ARM处理器,因此至少需要重新编译。不过,架构非常不同,所以像Endeanes(?)必须考虑字数。

Mac osX是一个X86平台,iphone使用ARM处理器,因此至少需要重新编译。不过,架构非常不同,因此必须考虑Endeanes(?)和字数等因素。

步骤1)构建静态库。

我已经静态地为iPhone构建了第三方库。经过一些尝试和错误,我发现以下是一个很好的起点:

针对iPhone操作系统的交叉编译:

./configure--prefix=/path/to/project/external/iphoneos/--host=“arm-apple-darwin9”--target=arm-apple-darwin9--enable static--disable shared CC=/Developer/Platforms/iphoneos.platform/Developer/usr/bin/arm-apple-darwin9-gcc-4.0.1 CFLAGS=“-isysroot/Developer/Platforms/iPhoneOS3.0.sdk”CPP=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/CPP 制作 安装

针对iPhone模拟器的交叉编译:

./configure--prefix=/path/to/project/external/iphonesimulator--enable static=yes--enable shared=no CC=/Developer/Platforms/iphonesimulator.platform/Developer/usr/bin/gcc-4.0 CFLAGS="-arch i686-pipe-mdynamic no pic-std=c99-Wno trigraphs-fpascal strings-fasm blocks-O0-Wreturn type-Wunused variable-fmessage length=0-fvisibility=hidden-mmacosx version min=10.5-I/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/usr/include/-isysroot/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk“CPP=/Developer/Platforms/iPhoneSimulator.Platforms/iPhoneSimulator.platform/usr/bin/AR LDFLAGS=“-arch i686-isysroot/Developer/Platforms/iPhoneSimulator.platform/Developer/iPhoneSimulator3.0.sdk-Wl,-固定条-mmacosx版本最小值=10.5“ 制作 安装

然而,这实际上只是一个起点。它可能只适用于具有灵活makefile的项目。如果上述方法不起作用,我不得不:

  • 启用特定于项目的./configure标志
  • 修改配置脚本
  • 修改生成的Makefile
  • 修改自动配置脚本
您还可以为iPhoneOS版本打开优化标志(在您首先让它工作之后)

步骤2)将库添加到项目的搜索路径。

在项目信息设置中,设置以下生成选项:

标题搜索路径:“$(SRCROOT)/external/$(平台名称)/include”

库搜索路径:“$(SRCROOT)/external/$(平台名称)/lib”

其他链接器标志:[添加静态LIB的标志]

之后,您应该能够在项目中包含第三方库。

步骤1)构建静态库。

我已经静态地为iPhone构建了第三方库。经过一些尝试和错误,我发现这是一个很好的起点:

针对iPhone操作系统的交叉编译:

./configure--prefix=/path/to/project/external/iphoneos/--host=“arm-apple-darwin9”--target=arm-apple-darwin9--enable static--disable shared CC=/Developer/Platforms/iphoneos.platform/Developer/usr/bin/arm-apple-darwin9-gcc-4.0.1 CFLAGS=“-isysroot/Developer/Platforms/iPhoneOS3.0.sdk“CPP=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/CPP 制作 安装

针对iPhone模拟器的交叉编译:

./configure--prefix=/path/to/project/external/iphonesimulator--enable static=yes--enable shared=no CC=/Developer/Platforms/iphonesimulator.platform/Developer/usr/bin/gcc-4.0 CFLAGS="-arch i686-pipe-mdynamic no pic-std=c99-Wno trigraphs-fpascal strings-fasm blocks-O0-Wreturn type-Wunused variable-fmessage length=0-fvisibility=hidden-mmacosx version min=10.5-I/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/usr/include/-isysroot/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk“CPP=/Developer/Platforms/iPhoneSimulator.Platforms/iPhoneSimulator.platform/usr/bin/AR LDFLAGS=“-arch i686-isysroot/Developer/Platforms/iPhoneSimulator.platform/Developer/iPhoneSimulator3.0.sdk-Wl,-固定条-mmacosx版本最小值=10.5“ 制作 安装

然而,这实际上只是一个起点。它可能只适用于具有灵活makefile的项目。如果上述方法不起作用,我不得不:

  • 启用特定于项目的./configure标志
  • 修改配置脚本
  • 修改生成的Makefile
  • 修改自动配置脚本
您还可以为iPhoneOS版本打开优化标志(在您首先让它工作之后)

步骤2)将库添加到项目的搜索路径。

在项目信息设置中,设置以下生成选项:

标题搜索路径:“$(SRCROOT)/external/$(平台名称)/include”

库搜索路径:“$(SRCROOT)/external/$(平台名称)/lib”

其他链接器标志:[添加静态LIB的标志]


之后,你应该能够将第三方库包括在你的项目中。

嘿,谢谢各位,我完全按照你说的做了,看起来很简单。谢谢,你能投票并将其标记为答案吗?谢谢。嘿,谢谢各位,我完全按照你说的做了,看起来很简单。谢谢,你能投票并将其标记为答案吗回答?谢谢。