Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 构建iOS的GMP_Iphone_Ios_Ios5_Gmp - Fatal编程技术网

Iphone 构建iOS的GMP

Iphone 构建iOS的GMP,iphone,ios,ios5,gmp,Iphone,Ios,Ios5,Gmp,我需要在我正在开发的iphone程序中使用GMP,但我真的不知道从哪里开始。我知道我必须为设备和模拟器建立一个版本,但这是我所知道的。我试着四处看看,但没能找到多少 这里有没有人成功地为iphone构建了GMP,来指导我完成这个过程 我看到了,但它对我不起作用。 我认为我已经成功地使用了: /configure CC=“/Developer/Platforms/iPhoneOS.platform/Developer/usr/llvm-gcc-4.2/bin/llvm-gcc-4.2”CXX=“/

我需要在我正在开发的iphone程序中使用
GMP
,但我真的不知道从哪里开始。我知道我必须为设备和模拟器建立一个版本,但这是我所知道的。我试着四处看看,但没能找到多少

这里有没有人成功地为
iphone
构建了
GMP
,来指导我完成这个过程

我看到了,但它对我不起作用。 我认为我已经成功地使用了:

/configure CC=“/Developer/Platforms/iPhoneOS.platform/Developer/usr/llvm-gcc-4.2/bin/llvm-gcc-4.2”CXX=“/Developer/Platforms/iPhoneOS.Platforms/Developer/usr/iPhoneOS.platform/usr/llvm-gcc-4.2/bin/llvm-gcc-4.2-E”LD=“$IOS/usr/bin/bin/bin/LD”标志=“-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/LIBTOOL”LIPO=“$IOS/usr/bin/LIPO”OTOOL=“$IOS/usr/bin/OTOOL”RANLIB=“$IOS/usr/bin/RANLIB”STRIP=“$IOS/usr/bin/STRIP“--禁用共享--启用静态--前缀=$IOS/usr/local--主机=none-apple-darwin10

然后进行安装

/usr/local/lib
中,我有
libgmp.a
。但当我拖动到
xcode
进行编译时,它会告诉我:

忽略文件/Users/daniel/Desktop/libgmp.a,该文件是为未链接的体系结构(armv7)的存档而构建的。
(出于某种原因,我将其放入桌面,然后拖到我的xcode项目中)

这让我快发疯了。有人能帮忙吗?记住,使用这些工具,我是一个彻头彻尾的傻瓜

假设我能得到帮助,我能做到这一点。如何将其转换为一个框架,在
armv6
armv7
simulator(i386)
上工作

提前谢谢

更新:如果其他人有这个问题,我是如何解决的

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

  • 一起找到LIPO三个.a文件

  • 将.a文件导入带有gmp.g和gmpgxx.h的XCode

  • 完成


  • 按照rob的建议,我将回答我的问题并接受答案。我是新手,所以如果有更简单的方法请原谅我,这就是我如何做到的

    要为iphone构建GMP,必须从命令行三次构建三个库。为armv6、armv7和i386体系结构构建。要确保xcode中没有问题,请确保将-DNO_ASM添加到CPPFLAGS中。一旦有了这三个.a文件,就将它们合并到一个库中

    现在,您可以将使用lipo创建的库添加到xcode中并包含头文件,现在您已经有了用于iphone开发的GMP


    我希望这有帮助。我花了几天时间想弄明白这一点

    您可能会受到OpenSSL的启发,并将其应用于GMP。它使用标准的
    configure
    脚本,并使用perl替换CC和CFLAGS。

    我找到了答案。我现在有了一个适用于模拟器(i386)和设备(armv6和armv7)的GMP库。我想知道我是否可以在NDK中使用Android开发的armv6/7部分。现在来写一个objective c包装器,让它能够很好地与NSString配合使用。你可以(也应该)发布你自己问题的答案,并接受它。谢谢你的回答,但是你能提供一个链接,这样就可以下载库了吗?我无法让它工作。谢谢您是如何使交叉编译步骤适用于任何体系结构的?当我尝试它时,我遇到了与您最初报告的相同的问题。当尝试交叉编译时,我总是遇到以下配置错误:“configure:error:Oops,mp\u limb\t为64位,但此配置中的汇编程序代码需要32位。”