0

サードパーティのライブラリがあり、MonoTouchアプリ内でようやく機能しています。ただし、SDKを4.2に設定した場合にのみ、シミュレーター用にコンパイルされます。5.0に設定すると、リンカーが失敗します。実際のデバイスでは5.0にコンパイルされます。gcc_s.10.5は何を求めており、どこに配置する必要がありますか?

Generated /var/folders/GG/GG6dZ9dzFX0vYZmJ1+6pQ++++TI/-Tmp-/tmp6a32a243.tmp/main.m
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 -arch i386 -gdwarf-2 -fobjc-legacy-dispatch -fobjc-abi-version=2 -miphoneos-version-min=5.0 -arch i386  -std=c99 -I/Developer/MonoTouch/SDKs/MonoTouch.iphonesimulator.sdk/usr/include -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk -c /var/folders/GG/GG6dZ9dzFX0vYZmJ1+6pQ++++TI/-Tmp-/tmp6a32a243.tmp/main.m -o /var/folders/GG/GG6dZ9dzFX0vYZmJ1+6pQ++++TI/-Tmp-/tmp6a32a243.tmp/main.x86.o -DDEBUG  
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 -arch i386 -gdwarf-2 -fobjc-legacy-dispatch -fobjc-abi-version=2 -miphoneos-version-min=5.0   -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk /var/folders/GG/GG6dZ9dzFX0vYZmJ1+6pQ++++TI/-Tmp-/tmp6a32a243.tmp/main.x86.o -o /var/folders/GG/GG6dZ9dzFX0vYZmJ1+6pQ++++TI/-Tmp-/tmp6a32a243.tmp/RetailStuff -framework CFNetwork -framework Foundation -framework UIKit -framework SystemConfiguration -framework CoreFoundation -framework CoreGraphics -framework AudioToolbox -framework AVFoundation -framework ExternalAccessory -framework QuartzCore -lz -u _mono_pmip -u _CreateZStream -u _CloseZStream -u _Flush -u _ReadZStream -u _WriteZStream -liconv -lmono-2.0 -lmonotouch -L/Developer/MonoTouch/SDKs/MonoTouch.iphonesimulator.sdk/usr/lib -u _catch_exception_raise -force_load /var/folders/GG/GG6dZ9dzFX0vYZmJ1+6pQ++++TI/-Tmp-/tmp6a32a243.tmp/libGrabbaDriver.a
Process exited with code 1, command:
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 -arch i386 -gdwarf-2 -fobjc-legacy-dispatch -fobjc-abi-version=2 -miphoneos-version-min=5.0   -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk /var/folders/GG/GG6dZ9dzFX0vYZmJ1+6pQ++++TI/-Tmp-/tmp6a32a243.tmp/main.x86.o -o /var/folders/GG/GG6dZ9dzFX0vYZmJ1+6pQ++++TI/-Tmp-/tmp6a32a243.tmp/RetailStuff -framework CFNetwork -framework Foundation -framework UIKit -framework SystemConfiguration -framework CoreFoundation -framework CoreGraphics -framework AudioToolbox -framework AVFoundation -framework ExternalAccessory -framework QuartzCore -lz -u _mono_pmip -u _CreateZStream -u _CloseZStream -u _Flush -u _ReadZStream -u _WriteZStream -liconv -lmono-2.0 -lmonotouch -L/Developer/MonoTouch/SDKs/MonoTouch.iphonesimulator.sdk/usr/lib -u _catch_exception_raise -force_load /var/folders/GG/GG6dZ9dzFX0vYZmJ1+6pQ++++TI/-Tmp-/tmp6a32a243.tmp/libGrabbaDriver.a
ld: library not found for -lgcc_s.10.5
collect2: ld returned 1 exit status

mtouch exited with code 1
4

3 に答える 3

2

libgcc_sおそらくlibGrabbaDriver.a、 MonoTouchプロジェクトをリンクしている依存関係です。

 ld: library not found for -lgcc_s.10.5

そのライブラリの名前が変更されている可能性があります。つまり、iOS5.1システムでは同じではありません。

 /Applications//Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/usr/lib/libgcc_s.1.dylib

そこから私はあなたがする必要があると思います:

  • アプリケーションを新しいライブラリにリンクします(内部変更がないことを期待します)。

  • ネイティブライブラリを再構築して、適切な(新しい)バージョンのlibgcc_s

于 2012-03-12T14:02:53.717 に答える
1

システムに一貫性のない状態があるようです。

MonoTouchはlibgcc_sとのリンクを試みません。少し グーグルする 、MonoTouchとはまったく関係がないように見えます。

Xcodeをアンインストールして再インストールしようとします(Xcodeが状況によってはMonoTouchを削除する可能性があるため、MonoTouchも再インストールする必要がある場合があります)。

于 2012-03-12T09:56:49.223 に答える
0

上記の答えは正しいアプローチでした。同じ問題が別のプロジェクトでも発生しました。結局、私はSnow LeopardからLionにアップグレードし、最新のxcodeにアップグレードしましたが、今はすべて問題ありません。

于 2012-04-04T03:46:23.383 に答える