1

我想知道是否有人曾经使用过这里找到的 gmp4osx来为 iOS 创建一个框架。大约四个月前,我设法启动并运行它,但后来意外删除了该文件夹,现在当我按照说明重新构建它时,我无法获取该过程输出的文件夹中的gmp-iPhoneOS.hgmp-iPhoneSimulator.h文件。libgmp.framework

我记得在过去,我只是在我的项目中拖放libgmp.framework文件夹并将文件导入gmp.h我的 ViewController 类中,一切都很顺利。该文件的主要目标是gmp-*在项目中导入正确的文件,具体取决于目标操作系统。因此,对于 iPhone,它将导入gmp-iPhoneOS.h. 但是这个文件在我的硬盘上不存在!

如果有人能指出一个解决方案,我将不胜感激!如果没有,请尝试在您的 Mac 上构建它并查看是否获得这些文件(可能是我的机器上的编译器错误或其他问题 - 我对此表示怀疑,因为我也尝试过全新安装)。

先感谢您 :)

4

1 回答 1

4

好的,让它工作!如果有人想要 iOS(甚至 OSX)的 GMP,请按照以下步骤操作。问题是构建脚本是为 iOS 5.1 创建的,今天我们需要它为 6.1 工作!答案在 github 的问题选项卡中。不敢相信我没有看到它的到来!

所以这里是:

  1. 下载并解压gmp4osx 项目

  2. 打开并编辑gmp4osx-master/libgmp/gmp4osx

  3. 在第 19 行它说IOSVERSION=5.1,将其更改为IOSVERSION=6.1

  4. 保存文件

  5. 使用终端浏览到该目录并输入./gmp4osx -b

  6. 拖放gmp4osx-master/libgmp/build/libgmp.framework项目中的文件夹

  7. 导入标头(示例代码如下),您就拥有适用于任何平台的 GMP :)

如果您不知道如何导入头文件,只需复制并粘贴以下代码即可使用!

#import "ViewController.h"
#import "libgmp/gmp.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    mpz_t x;
    mpz_init_set_ui(x, 2);
    mpz_pow_ui(x, x, 5);
    gmp_printf("%Zd", x);
    //NSString *c;
    //mpz_get_str(&c, 10, x);

    // Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end
于 2013-05-29T12:31:47.353 回答