1

したがって、静的ライブラリを使用する必要がある単純な iOS プロジェクトがあります。ライブラリは主に C++ で書かれており、クロスプラットフォームになる傾向があります。Xcode を使用してビルドできます。

サンプルの iOS アプリ プロジェクトを作成し、ライブラリのプロジェクトをサブプロジェクトとして追加し、iOS アプリの依存関係としてライブラリを追加します。

私の iOS アプリは ARC を使用しています。ライブラリには、次のようないくつかのプリプロセッサ マクロがあります。

#if __has_feature(objc_arc)
  @autoreleasepool
#elif defined(OSX) || defined(IOS)
  // something else ...

プロジェクトをコンパイルすると、ARC not enabledでコンパイルされます。したがって、「@autoreleasepool」の代わりに「//何か他の...」がコードで設定されます。

さらに、追加の -fobjc_arc フラグをライブラリ ターゲットと、これらのマクロが使用される特定のファイルに設定しました。スクリーンショットをご覧ください。

Xcode バージョン 4.6.2 (4H1003) を使用しています。コンパイラは Apple LLVM 4.2 です。

ここに画像の説明を入力

なぜこれが起こるのか誰にも提案がありますか?

4

1 に答える 1