1

".a" fat-static-libs を Apportable にリンクするにはどうすればよいですか?

最初は警告が表示されましたが、

警告: lib-name のライブラリが見つかりません。これを、configuration.json ファイルの「add_params」セクションの「deps」配列に追加してみてください。~/.apportable/SDK/System で「deps」エントリに対応するディレクトリ名を確認してください。

私はそれをJSONの「deps」に追加しました:

// 依存関係のリスト。通常、これらは xcode プロジェクトのフレームワークに対応します。

ただし、私のライブラリはフレームワークではありません。これは、 Xcodeで構築された 2 つのライブラリ ( armv7 と armv7sと i386 ).aを使用して組み立てた armv7、armv7s、および i386 パーツを持つ単なる静的ライブラリです。どちらも、この Boost フレームワーク という単一のフレームワークを使用しています。lipo.a.a

警告メッセージの下に追加すると、depsその警告メッセージが消えましたが、apportableリンカーはまだ未定義の参照を提供しているため、このファイルを適切にリンクしていません。

Android は Mac で実行可能な形式をどう処理すればよいか分からないため、Apportable はこれらすべてを再ジッターする必要があることがわかりました。最終リンク。この時点でこれをデバッグする方法がわかりませんが、これはまったくサポートされていますか?

4

1 に答える 1

2

「ライブラリが見つかりません」というメッセージが表示されるため、Apportable が単にファイルを見つけられないことを意味します。したがって、問題は単にファイルの場所 (または存在) にあり、ライブラリの内容やビルド方法には関係ありません。

依存ターゲット、特に複数のプロジェクトを含む他の Xcode プロジェクトそれぞれのワークスペースにドロップされた Xcode プロジェクトに関する最も一般的な問題は、各ターゲット/プロジェクトの結果の出力が異なるフォルダーに移動することです。その後、Apportable (状況によっては xcodebuild も同様) は結果のライブラリを見つけることができません。

最初に試す必要があるのは、ターゲットの依存関係が設定されていることを確認することです。アプリ ターゲットを選択し、[ビルド フェーズ]ペインに移動して、[ターゲットの依存関係]の下に、リストに表示され、プロジェクトが依存するすべてのフレームワークとライブラリを追加します。これにより、依存するフレームワーク/ライブラリが確実に構築されるはずです.Xcodeの組み込みの自動依存関係解決は、私が理解しているコマンドラインツールでは利用できないためです。したがって、依存プロジェクトをそれぞれの出力を明示的に指定する必要があります。

それでも問題が解決しない場合は、すべてのターゲットに出力を同じフォルダーに書き込むように強制できます。すべてのターゲットのビルド設定の下で、ビルド製品のパス(シンボル名: SYMROOT) を同じフォルダーに変更します。たとえば、~/myprojectsbuildoutput

そうすれば、依存する他のプロジェクトでも出力を同じフォルダーに配置し、xcodebuild と Apportable (xcodebuild に依存) でライブラリ ファイルを見つけることができます。

ヒント: プロジェクトがコマンド ラインで正常にビルドされていることを確認してください。ターミナルを開きcd、.xcodeproj バンドルがあるフォルダーに移動し、xcodebuild. 単に検証が原因で xcodebuild が失敗する場合は、アプリ ターゲットのBuild SettingsでValidate Built Productを無効にします。xcodebuild が失敗した場合、xcodebuild に依存しているため、Apportable も機能しない可能性があります。したがって、前提条件として、xcodebuild がプロジェクトで機能することを確認してください。

xcodebuild で「ライブラリが見つかりません」というメッセージが表示される場合は、特定の SYMROOT で呼び出してみてください。

xcodebuild SYMROOT=~/myprojectsbuildoutput

それが機能する場合は、各ターゲットの を更新する必要があることがわかりますBuild Projects Path。私が知っていることから、Apportableを介してカスタムxcodebuildパラメーターを渡すことは現在不可能(または文書化されていない)であるため、.xcodeproj自体で設定する必要があります。

于 2013-09-01T09:27:54.137 に答える