2016-09-03 35 views
0

スタティックライブラリ(arm64)のバインディングを持っていて、xamarin studioのシングルビューiOSプロジェクトへの参照として追加しました。 clang ++に関連するエラーを取得します。私は、追加のmTouch引数(最後の1)の上に別のものを試してみた:xamarinでスタティックライブラリを使用しているときにエラーが発生しました:エラー:ネイティブリンクエラー:ライブラリが見つかりませんでした-lgcc_eh

--gcc_flags "-lstdc++ -dead_strip" -v -v -v -v 

が、私はエラーを持っている:

Native linking error: library not found for -lgcc_eh

私は自分のコンピュータ上で欠けているものを任意の手掛かりを持っていません、何かを更新する必要はありますか?私は問題なくXcodeでネイティブコードを実行できます。

追加情報:
SDKのバージョン9.3
リンカの動作:リンクALL
無効増分が

部分的なログを作成します:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -framework UIKit -framework Foundation -framework CoreGraphics -weak_framework CFNetwork /Users/bam/Projects/bind1/testface/obj/iPhone/Debug/mtouch-cache/libsmma_combo.a /Users/bam/Projects/bind1/testface/obj/iPhone/Debug/mtouch-cache/libsmma.a /Library/Frameworks/Xamarin.iOS.framework/Versions/9.8.2.22/SDKs/MonoTouch.iphoneos.sdk/usr/lib/libmonosgen-2.0.a /Library/Frameworks/Xamarin.iOS.framework/Versions/9.8.2.22/SDKs/MonoTouch.iphoneos.sdk/usr/lib/libxamarin-debug.a /Users/bam/Projects/bind1/testface/obj/iPhone/Debug/mtouch-cache/testface.exe.arm64.o /Users/bam/Projects/bind1/testface/obj/iPhone/Debug/mtouch-cache/Xamarin.iOS.dll.arm64.o /Users/bam/Projects/bind1/testface/obj/iPhone/Debug/mtouch-cache/mscorlib.dll.arm64.o /Users/bam/Projects/bind1/testface/obj/iPhone/Debug/mtouch-cache/System.dll.arm64.o /Users/bam/Projects/bind1/testface/obj/iPhone/Debug/mtouch-cache/bind1.dll.arm64.o /Users/bam/Projects/bind1/testface/obj/iPhone/Debug/mtouch-cache/registrar.arm64.o /Users/bam/Projects/bind1/testface/obj/iPhone/Debug/mtouch-cache/main.arm64.o -force_load /Library/Frameworks/Xamarin.iOS.framework/Versions/9.8.2.22/SDKs/MonoTouch.iphoneos.sdk/usr/lib/libapp.a -licucore -lstdc++.6.0.9 -lgcc_eh -Wl,-pie -arch arm64 -miphoneos-version-min=9.3 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk -lz -o /Users/bam/Projects/bind1/testface/bin/iPhone/Debug/testface.app/testface -liconv -lstdc++ -dead_strip -u _UIApplicationMain -u _xamarin_release_managed_ref -u _xamarin_create_managed_ref -u _xamarin_get_block_descriptor -u _xamarin_timezone_get_data -u _xamarin_log -u _mono_pmip 
     Process exited with code 1, command: 
     /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -framework UIKit -framework Foundation -framework CoreGraphics -weak_framework CFNetwork /Users/bam/Projects/bind1/testface/obj/iPhone/Debug/mtouch-cache/libsmma_combo.a /Users/bam/Projects/bind1/testface/obj/iPhone/Debug/mtouch-cache/libsmma.a /Library/Frameworks/Xamarin.iOS.framework/Versions/9.8.2.22/SDKs/MonoTouch.iphoneos.sdk/usr/lib/libmonosgen-2.0.a /Library/Frameworks/Xamarin.iOS.framework/Versions/9.8.2.22/SDKs/MonoTouch.iphoneos.sdk/usr/lib/libxamarin-debug.a /Users/bam/Projects/bind1/testface/obj/iPhone/Debug/mtouch-cache/testface.exe.arm64.o /Users/bam/Projects/bind1/testface/obj/iPhone/Debug/mtouch-cache/Xamarin.iOS.dll.arm64.o /Users/bam/Projects/bind1/testface/obj/iPhone/Debug/mtouch-cache/mscorlib.dll.arm64.o /Users/bam/Projects/bind1/testface/obj/iPhone/Debug/mtouch-cache/System.dll.arm64.o /Users/bam/Projects/bind1/testface/obj/iPhone/Debug/mtouch-cache/bind1.dll.arm64.o /Users/bam/Projects/bind1/testface/obj/iPhone/Debug/mtouch-cache/registrar.arm64.o /Users/bam/Projects/bind1/testface/obj/iPhone/Debug/mtouch-cache/main.arm64.o -force_load /Library/Frameworks/Xamarin.iOS.framework/Versions/9.8.2.22/SDKs/MonoTouch.iphoneos.sdk/usr/lib/libapp.a -licucore -lstdc++.6.0.9 -lgcc_eh -Wl,-pie -arch arm64 -miphoneos-version-min=9.3 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk -lz -o /Users/bam/Projects/bind1/testface/bin/iPhone/Debug/testface.app/testface -liconv -lstdc++ -dead_strip -u _UIApplicationMain -u _xamarin_release_managed_ref -u _xamarin_create_managed_ref -u _xamarin_get_block_descriptor -u _xamarin_timezone_get_data -u _xamarin_log -u _mono_pmip 
     ld: library not found for -lgcc_eh 
     clang: error: linker command failed with exit code 1 (use -v to see invocation) 

MTOUCH: error MT5209: Native linking error: library not found for -lgcc_eh 
MTOUCH: error MT5201: Native linking failed. Please review the build log and the user flags provided to gcc: -lstdc++ -dead_strip 
MTOUCH: error MT5202: Native linking failed. Please review the build log. 
    Task "MTouch" execution -- FAILED 
    Done building target "_CompileToNative" in project "/Users/bam/Projects/bind1/testface/testface.csproj".-- FAILED 

Done building project "/Users/bam/Projects/bind1/testface/testface.csproj".-- FAILED 

Build FAILED. 

答えて

0

は助けるために多くのデータはありませんが、私はすることができます-lgcc_ehはXamarin.iOSからに直接が来ていないと言う。

自分のプロジェクトオプションにない場合は、プロジェクトで使用しているバインディング/サードパーティのアセンブリから来ている必要があります。

部分ビルドログには、プロジェクトにlibsmma_combo.alibsmma.aが追加されるというヒントがあります。また、他のオプション(例:-licucore -lstdc++.6.0.9)は、使用しているサードパーティのライブラリの要件に起因する可能性があります。

いずれかが古く、更新が利用可能な可能性があります。

+0

ありがとうPoupou、私の悪い説明を残して申し訳ありません。 libsmma_combo.aとlibsmma.aは、私がバインドしたサードパーティのアプリケーションです。また、 "-licucore -lstdC++。6.0.9"は、リンカーフラグとしてバインドされたライブラリに追加したものです(リンカーフラグを使わずに試しました)。必要ならばさらに情報を提供できます。どんな助けもありがたいです – azizib

+0

あなたのバインディングは '[LinkWith]'属性に 'NeedsGccExceptionHandling = true'を使用していますか? – poupou

関連する問題