1

iOS 用のフレームワークを作成するために、ここにある gmp4osx を使用したことがある人がいるかどうか疑問に思っていました。約4か月前になんとか起動して実行しましたが、誤ってフォルダーを削除してしまい、指示に従って再構築すると、手順によって出力されたフォルダー内のgmp-iPhoneOS.hまたはgmp-iPhoneSimulator.hファイルを取得できません。libgmp.framework

libgmp.framework以前は、フォルダーをプロジェクトにドラッグ アンド ドロップし、gmp.hファイルを ViewController クラスにインポートしただけで、すべてがスムーズに機能したことを覚えています。このファイルの主な目的はgmp-*、ターゲット OS に応じて、プロジェクトに適切なファイルをインポートすることです。したがって、iPhone の場合はgmp-iPhoneOS.h. しかし、このファイルは私のハードドライブには存在しません!

誰かが解決策を指摘できれば、本当に感謝しています! そうでない場合は、Macでビルドして、これらのファイルが得られるかどうかを確認してください(私のマシンのコンパイラエラーか、他の何かである可能性があります-クリーンインストールも試したので、疑わしいです)。

前もって感謝します :)

4

1 に答える 1

4

OK、うまくいきました!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 に答える