4

btouchを使用してMonoTouchにインポートしようとしているObjectiveC静的ライブラリがあります。しかし、私が直面している問題は、ライブラリがlibz.dylibとlibxml2.dylibに依存しており、MonoTouchアプリケーションにこれらのフレームワークを含める方法がわからないことです。

XCodeプロジェクトで静的ライブラリをテストしましたが、このテストアプリケーションは正しくコンパイルおよび実行されます。現在、MonoTouchでまったく同じサンプルアプリケーションを構築しようとしていますが、すべての依存関係が含まれるようにgcc_flags引数を正しく取得するのに問題があります。

XCodeアプリケーションには、次のフレームワークを含める必要がありました。

 UIKit.framework
 CFNetwork.framework
 CoreGraphics.framework
 Foundation.framework
 MobileCoreServices.framework
 SystemConfiguration.framework
 libz.dylib
 libxml2.dylib

また、XCodeでは、必要なすべてのヘッダーファイルを見つけるために次の検索パスをインクルードする必要がありました: "$(SDK_DIR)" / usr / include / libxml2

さて、MonoTouchでは、ビルドオプションの下のgcc_flagsに次のセットがあります。

 -v -v -v -gcc_flags "-framework CFNetwork -framework CoreGraphics -framework Foundation -framework MobileCoreServices -framework SystemConfiguration -I${ProjectDir}/lib/include -I$(SDK_DIR)/usr/include/libxml2 -L${ProjectDir}/lib/ -lOfflineRequest -force_load ${ProjectDir}/lib/libOfflineRequest.a"

コンパイルしようとすると、リンクエラーの長いリストが表示されます。これは、私が知る限り、リンク中にlibz.dylibとlibxml2.dylibが含まれていないことが原因です。これらがMonoTouchに含まれるようにする方法を誰かが知っていますか?

4

1 に答える 1

6

すでに持っている--gcc_flagsに「-lz-lxml2」を追加してみてください。これにより、アプリケーションをリンクするときにlibzとlibxml2を追加するようにgccに指示されます。

これが機能しない場合は、完全なビルドログを投稿してください(メッセージを編集するか、bugzilla.xamarin.comのバグレポートに記入して、ビルドログを添付してください)。

于 2011-08-12T15:32:40.253 に答える