それらの意味は何ですか?異なる値に設定できますか?
2 に答える
アーキテクチャは構築したいものであり、有効なアーキテクチャはコードベースで構築できると考えられるものです。
したがって、armv7s 用のバイナリのみをビルドしたい場合がありますが、同じソース コードは armv7 と armv6 で正常にコンパイルされます。ですが、コードで実際にビルドしたいのはこれだけなのでVALID_ARCHS = armv6 armv7 armv7s
、設定します。ARCHS = armv7s
または、Apple の場合:
ARCHS(建築)
スペースで区切られた識別子のリスト。バイナリの対象となるアーキテクチャ (ABI、プロセッサ モデル) を指定します。このビルド設定で複数のアーキテクチャが指定されている場合、生成されたバイナリには、指定された各アーキテクチャのオブジェクト コードが含まれる場合があります。
と:
VALID_ARCHS (有効なアーキテクチャ)
スペースで区切られた識別子のリスト。バイナリをビルドできるアーキテクチャを指定します。ビルド中、このリストは ARCHS ビルド設定の値と交差します。結果のリストは、バイナリを実行できるアーキテクチャを指定します。結果のアーキテクチャ リストが空の場合、ターゲットはバイナリを生成しません。
実際には、そのままにしておくVALID_ARCHS
と、変更について心配する必要はなく、ARCHS
構築したいアーキテクチャを設定するためにいじるだけです。通常、デバッグ ビルドを justNATIVE_ARCH
に設定します。これは、テスト/実行するマシンのデバッグ バージョンのみをビルドし、サポートする予定のアーキテクチャ全体のリリース ビルドのみを作成するためです。
Valid Architectures
Apple のドキュメントから、Xcode が構築するバイナリは と交差するリストであることがわかりArchitectures
ます。
だから、彼が言うように、私はジェレミーの答えが正しいとは思わない:
したがって、armv7s 用のバイナリのみをビルドしたい場合がありますが、同じソース コードは
armv7 と armv6 で正常にコンパイルされます。VALID_ARCHS = armv6 armv7 armv7s
しかし、コードで実際にビルドしたいのはこれだけなので、ARCHS = armv7s を設定します。
を設定VALID_ARCHS = armv6 armv7 armv7s
して設定するとARCHS = armv7s
、バイナリ Xcode のビルド結果は armv7s になります。armv6/armv7 と互換性がありませんでした。
また、armv6/armv7/armv7s と互換性を持たせたい場合は、 と を設定する必要が VALID_ARCHS = armv6 armv7 armv7s
ありARCHS = armv6
ます。このようにして、バイナリ Xcode のビルドの結果は armv6 になり、arm プロセッサは下位互換性があるため、armv6/armv7/armv7s の両方で正常に実行できます。 .