为iOS构建GMP

use*_*964 6 iphone gmp ios ios5

我需要GMP在我正在使用的iphone程序中使用,但不知道从哪里开始.我知道我必须为设备构建一个版本,并为模拟器构建一个版本,但这就像我所知道的那样.我试过环顾四周但却找不到多少.

有没有人在这里成功建立GMP,iphone这将指导我完成这个过程?

我看到为iOS构建GMP但它对我不起作用.我以为我使用以下方法成功构建了它:

./configure CC="/Developer/Platforms/iPhoneOS.platform/Developer/usr/llvm-gcc-4.2/bin/llvm-gcc-4.2" CXX="/Developer/Platforms/iPhoneOS.platform/Developer/usr/llvm-gcc-4.2/bin/llvm-g++-4.2" CPP="/Developer/Platforms/iPhoneOS.platform/Developer/usr/llvm-gcc-4.2/bin/llvm-gcc-4.2 -E" LD="$IOS/usr/bin/ld" CPPFLAGS="-arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk -miphoneos-version-min=4.2" AR="$IOS/usr/bin/ar" NM="$IOS/usr/bin/nm" NMEDIT="$IOS/usr/bin/nmedit" LIBTOOL="$IOS/usr/bin/libtool" LIPO="$IOS/usr/bin/lipo" OTOOL="$IOS/usr/bin/otool" RANLIB="$IOS/usr/bin/ranlib" STRIP="$IOS/usr/bin/strip" --disable-shared --enable-static --prefix=$IOS/usr/local --host=none-apple-darwin10

然后进行安装.

/usr/local/lib我有libgmp.a.但是当我拖到xcode编译时它告诉我:

ignoring file /Users/daniel/Desktop/libgmp.a, file was built for archive which is not the architecture being linked (armv7) (由于某种原因,我放入桌面,然后拖入我的xcode项目)

这让我疯了.有人可以帮忙吗?请记住,使用这些工具我是一个完整的菜鸟.

假设我得到了帮助,我可以做到这一点.我怎么去把它变成了一个框架,将在一个工作armv6,armv7simulator(i386)

提前致谢.

更新:其他人在这里遇到问题的方法是我如何解决它.

  1. 首先交叉编译GMP 3次,将架构设置为armv6.armv7和i386分别.构建arm版本时,将标志-DNO_ASM添加到CPPFLAGS.

  2. 一起找到三个.a文件的LIPO

  3. 使用gmp.g和gmpgxx.h将.a文件导入XCode.

  4. 完成

小智 6

正如抢劫所说,我会回答我的问题并接受答案.我是新手,所以如果有更简单的方式原谅我,这就是我管理的方式.

要为iphone构建GMP,您必须从命令行构建三个库三次.构建armv6,armv7和i386架构.为确保xcode没有问题,请确保将-DNO_ASM添加到CPPFLAGS.一旦你有三个.a文件,将它们组合成一个库.

您现在可以将使用lipo创建的库添加到xcode中并包含标题,您现在可以使用GMP进行iphone开发.

我希望这有帮助.我花了几天时间试图解决这个问题.