0

昨日、最新の MonoTouch / MonoDevelop ビルドにアップグレードしたところ、コンパイル時にアプリケーションで次のエラーが発生しました。

error MT5201: Native linking failed. Please review user flags provided to gcc: "-lz" "-lxml2"

私が使用しているリンクされたライブラリには libz.dylib が必要なため、ビルドで以下を使用しています。-gcc_flags "-lz -lxml2"

私の現在の環境は次のとおりです。

MonoDevelop 3.0.5
Installation UUID: 5022d668-f236-4223-a074-6c050535bd3f
Runtime:
    Mono 2.10.9 (tarball)
    GTK 2.24.10
    GTK# (2.12.0.0)
    Package version: 210090011
Apple Developer Tools:
     Xcode 4.5.2 (1847)
     Build 4G2008a
Monotouch: 6.0.7
Mono for Android: Not Installed

Build information:
    Release ID: 30005000
    Git revision: e159cf083bd327933166819d94245298898d6e3d
    Build date: 2012-10-24 16:43:06+0000
    Xamarin addins: eea2ed91ae8dd242b281d5ec8f6c2fbc63b4cd3d
Operating System:
    Mac OS X 10.7.5
    Darwin My-Mac-mini-2.local 11.4.2 Darwin Kernel Version 11.4.2
        Thu Aug 23 16:25:48 PDT 2012
        root:xnu-1699.32.7~1/RELEASE_X86_64 x86_64

元々、MonoTouch / MonoDevelop を最新の安定ビルドに更新した以外は何も変わっていません。更新時に、MonoTouch のライセンスを再取得する必要があったため、ライセンスを取得し、すべて正常にインストールされました。ビルドよりもそれで失敗します。私はそれを解決することを望んでXcodeを更新しました.最新のXcodeを使用している理由ですが、そうではありませんでした.

関係ありませんが、これは更新後に私が抱えている唯一の問題ではありません。別のプロジェクトでは、ビューが 90 度回転して表示されますが、心配する必要はありません。アップグレードで問題が発生した可能性があるため、問題の解決に役立つ可能性がある場合に備えて、それについて言及してください。


追加ビルド エラー情報:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/g++ -arch i386 -gdwarf-2 -fobjc-legacy-dispatch -fobjc-abi-version=2 -miphoneos-version-min=6.0 -arch i386  -std=c99 -I/Developer/MonoTouch/SDKs/MonoTouch.iphonesimulator.sdk/usr/include -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.0.sdk -c /var/folders/ln/yb817btn4_s7b52rhfk80cmm0000gn/T/tmp478d0592.tmp/main.i386.m -o /Users/Company/Projects/App/4-PDF2/App.Kiosk/obj/Debug/mtouch-cache/main..i386.cache.xT4QTbvqc0Zrv4eGTYvIJcXuuvo=.o
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/g++  -Wl,-no_pie -arch i386 -gdwarf-2 -fobjc-legacy-dispatch -fobjc-abi-version=2 -miphoneos-version-min=6.0 -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.0.sdk  /Users/Company/Projects/App/4-PDF2/App.Kiosk/obj/Debug/mtouch-cache/main..i386.cache.xT4QTbvqc0Zrv4eGTYvIJcXuuvo=.o -o /var/folders/ln/yb817btn4_s7b52rhfk80cmm0000gn/T/tmp478d0592.tmp/AppKiosk -framework CFNetwork -framework AssetsLibrary -framework Accounts -framework CoreBluetooth -framework CoreTelephony -framework EventKit -framework EventKitUI -framework Foundation -framework CoreMotion -framework GameKit -framework GLKit -framework iAd -framework MapKit -framework MediaPlayer -framework MessageUI -framework NewsstandKit -framework OpenGLES -framework Social -framework StoreKit -framework Twitter -framework UIKit -framework PassKit -framework AddressBookUI -framework SystemConfiguration -framework AddressBook -framework AudioToolbox -framework AVFoundation -framework QuartzCore -framework CoreGraphics -framework CoreImage -framework CoreLocation -framework CoreText -framework ImageIO -framework MobileCoreServices -framework Security -framework CoreData -framework CoreMedia -framework CoreMIDI -framework CoreVideo -framework ExternalAccessory -framework AdSupport -framework QuickLook -lz -u _mono_pmip -u _CreateZStream -u _CloseZStream -u _Flush -u _ReadZStream -u _WriteZStream -u _monotouch_create_managed_ref -u _monotouch_release_managed_ref -liconv -lmonosgen-2.0 -lmonotouch-sgen -L/Developer/MonoTouch/SDKs/MonoTouch.iphonesimulator.sdk/usr/lib -lmono-profiler-log -u _mono_profiler_startup_log -u _catch_exception_raise  -force_load /var/folders/ln/yb817btn4_s7b52rhfk80cmm0000gn/T/tmp478d0592.tmp/libPSPDF-ios5.1.a -force_load /var/folders/ln/yb817btn4_s7b52rhfk80cmm0000gn/T/tmp478d0592.tmp/libBARCODE-iphoneos.a "-lz" "-lxml2"
Process exited with code 1, command:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/g++  -Wl,-no_pie -arch i386 -gdwarf-2 -fobjc-legacy-dispatch -fobjc-abi-version=2 -miphoneos-version-min=6.0 -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.0.sdk  /Users/Company/Projects/App/4-PDF2/App.Kiosk/obj/Debug/mtouch-cache/main..i386.cache.xT4QTbvqc0Zrv4eGTYvIJcXuuvo=.o -o /var/folders/ln/yb817btn4_s7b52rhfk80cmm0000gn/T/tmp478d0592.tmp/AppKiosk -framework CFNetwork -framework AssetsLibrary -framework Accounts -framework CoreBluetooth -framework CoreTelephony -framework EventKit -framework EventKitUI -framework Foundation -framework CoreMotion -framework GameKit -framework GLKit -framework iAd -framework MapKit -framework MediaPlayer -framework MessageUI -framework NewsstandKit -framework OpenGLES -framework Social -framework StoreKit -framework Twitter -framework UIKit -framework Paerror MT5201: Native linking failed. Please review user flags provided to gcc: "-lz" "-lxml2"
ssKit -framework AddressBookUI -framework SystemConfiguration -framework AddressBook -framework AudioToolbox -framework AVFoundation -framework QuartzCore -framework CoreGraphics -framework CoreImage -framework CoreLocation -framework CoreText -framework ImageIO -framework MobileCoreServices -framework Security -framework CoreData -framework CoreMedia -framework CoreMIDI -framework CoreVideo -framework ExternalAccessory -framework AdSupport -framework QuickLook -lz -u _mono_pmip -u _CreateZStream -u _CloseZStream -u _Flush -u _ReadZStream -u _WriteZStream -u _monotouch_create_managed_ref -u _monotouch_release_managed_ref -liconv -lmonosgen-2.0 -lmonotouch-sgen -L/Developer/MonoTouch/SDKs/MonoTouch.iphonesimulator.sdk/usr/lib -lmono-profiler-log -u _mono_profiler_startup_log -u _catch_exception_raise  -force_load /var/folders/ln/yb817btn4_s7b52rhfk80cmm0000gn/T/tmp478d0592.tmp/libPSPDF-ios5.1.a -force_load /var/folders/ln/yb817btn4_s7b52rhfk80cmm0000gn/T/tmp478d0592.tmp/libBARCODE-iphoneos.a "-lz" "-lxml2"
ld: file not found: /var/folders/ln/yb817btn4_s7b52rhfk80cmm0000gn/T/tmp478d0592.tmp/libBARCODE-iphoneos.a
collect2: ld returned 1 exit status
4

1 に答える 1

1

エラーMT5201:ネイティブリンクに失敗しました。gccに提供されているユーザーフラグを確認してください: "-lz" "-lxml2"

これは、ネイティブリンカーが失敗したことを意味します。最も一般的な(しかし唯一ではない)理由は、人々がオプションを変更するときです。そのため、最初に行うことは、ユーザーフラグを確認することです(どちらも正常に見えます)。

次のステップは、ネイティブリンカーが失敗した理由を確認することです。これを行うには、ビルド出力を確認する必要があります(MonoDevelopのエラーリストパッド内に表示されます)。

警告がないか確認します(ログまたはMDエラーリストパッド内のいずれか)。そこにはおそらく少し余分な情報があります。

また、以前はどのバージョンのXcodeを使用していましたか?(つまり、更新前)

Xcode 4.5はARMv7(およびARMv7s)でのみ機能するため、Xcode 4.4(またはそれ以前)を使用した場合は、ARMv6でのみ使用可能なサードパーティのバインディングを使用しようとしている可能性があります。これは、ネイティブリンカーが気に入らないことです(ビルドログに警告が表示されるはずです)。

于 2012-11-17T18:26:13.840 に答える