1

誰かが私を助けてくれるか、正しい方向に向けてくれることを願っています。私は monotouch を使用して、Linea Pro バーコード スキャナー ケースを使用する iPod Touch アプリを作成しています。

私は Linea Pro ケースの SDK を持っており、次のチュートリアルに従っています。

http://blog.davidsandor.com/post/2011/01/05/iPhone-iTouch-barcode-scanning-Hello-World-application-with-MonoTouch-and-LineaSDK.aspx

(助けを求める応答を投稿したことがわかりますが、「親指ではない」ビルドに少し混乱しています)

montouch などの推奨バージョンを一致させようとしましたが、monotouch 3.2.4 が見つかりません。

私が抱えている問題は、ビルド オプションに引数を入力すると、アプリが起動してすぐにクラッシュすることです。ビルド引数を削除すると、アプリは正常に起動しますが、リネ​​ア プロ ケースは機能しません (予想どおり)。

私が使用しているビルド引数は

-v -gcc_flags "-L${ProjectDir} -lLineaSDK -framework AudioToolbox -framework CoreGraphics -framework ExternalAccessory -ObjC"

シミュレーターを介してビルドしようとすると、次のようになります

エラー 1: mtouch が次のメッセージで失敗しました: /var/folders/0q/kc6tw0jd35n7nsc4fmt98yvm0000gn/T/tmp140720c3.tmp/main.m: In function 'main': /var/folders/0q/kc6tw0jd35n7nsc4fmt98yvm0000gn/T/tmp140720c3.tmp/ main.m:1838: 警告: 関数 'monotouch_enable_debug_tracking' の暗黙の宣言 /var/folders/0q/kc6tw0jd35n7nsc4fmt98yvm0000gn/T/tmp140720c3.tmp/main.m:1921: 警告: 関数 'mini_get_debug_options' の暗黙の宣言 /var/folders/ 0q/kc6tw0jd35n7nsc4fmt98yvm0000gn/T/tmp140720c3.tmp/main.m:1925: 警告: 関数 'mono_debugger_agent_parse_options' の暗黙の宣言 /var/folders/0q/kc6tw0jd35n7nsc4fmt98yvm0000gn/T/tmp140720c3: キャスト: tmp140720c3 から。異なるサイズの整数へのポインター /var/folders/0q/kc6tw0jd35n7nsc4fmt98yvm0000gn/T/tmp140720c3.tmp/main.m:2058: 警告: 初期化により、キャストなしで整数からポインターが作成されます。 ] libLineaSDK.a(CommStream.o) - [EAStream eaClean] libLineaSDK.a(EAStream.o) - [EAStream EAAccessoryDidConnect:] libLineaSDK.a(EAStream.o) - [Linea paperStatus:] libLineaSDK.a( LineaSDK.o) - libLineaSDK.a(LineaSDK.o) 内の [Linea MagneticCardData:track2:track3:] - libLineaSDK.a(LineaSDK.o) 内の [Linea smartCardRemoved] - libLineaSDK.a(LineaSDK.o) 内の [Linea smartCardInserted] ) - libLineaSDK.a(LineaSDK.o) 内の [Linea BarcodeData:type:] - libLineaSDK.a(LineaSDK.o) 内の [Linea btmSetEnabled:]o) -libLineaSDK.a(LineaSDK.o)の[Linea btmGetEnabled] -libLineaSDK.a(LineaSDK.o)の[Linea bt301ReadThread:] -libLineaSDK.a(LineaSDK.o)の[Linea cryptoAuthenticateiPod:] -[Linea setBarcodeTypeMode :] libLineaSDK.a(LineaSDK.o) 内 -[Linea getBarcodeTypeMode] libLineaSDK.a(LineaSDK.o)内 -[Linea msProcessFinancialCard:track1:track2:] libLineaSDK.a(LineaSDK.o)内 -[Linea updateFirmware:] libLineaSDK.a(LineaSDK.o) 内 - [Linea playSound:beepData:length:] libLineaSDK.a(LineaSDK.o) 内 - [Linea setScanBeep:volume:beepData:length:] libLineaSDK.a(LineaSDK.o) 内 - [Linea processData:] in libLineaSDK.a(LineaSDK.o) -[Linea sendCommand:command:inData:inLength:outData:] libLineaSDK.a(LineaSDK.o) -[Linea setConnState:] libLineaSDK.a(LineaSDK.o)o) -[Linea processBTEvents:] in libLineaSDK.a(LineaSDK.o) -[Linea dealloc] in libLineaSDK.a(LineaSDK.o) -[Printer msProcessFinancialCard:track1:track2:] in libLineaSDK.a(PrinterSDK.o) - libLineaSDK.a(PrinterSDK.o) 内の [Printer cryptoRawSetKey:encryptedData:] - libLineaSDK.a(PrinterSDK.o) 内の [Printer closeChannel:] - libLineaSDK.a(PrinterSDK.o) 内の [Printer openChannel:] -[Printer libLineaSDK.a(PrinterSDK.o) 内の [flushCache] - libLineaSDK.a(PrinterSDK.o) 内の [Printer initCheck] - libLineaSDK.a(PrinterSDK.o) 内の [Printer processData:] - libLineaSDK.a 内の [Printer setConnState:] (PrinterSDK.o) ld: シンボルが見つかりません collect2: ld が 1 つの終了ステータスを返しました (1) (SwipeIT)o) -libLineaSDK.a(PrinterSDK.o) の [Printer msProcessFinancialCard:track1:track2:] - libLineaSDK.a(PrinterSDK.o) の [Printer cryptoRawSetKey:encryptedData:] - libLineaSDK.a(PrinterSDK) の [Printer closeChannel:] .o) -libLineaSDK.a(PrinterSDK.o) の [Printer openChannel:] - libLineaSDK.a(PrinterSDK.o) の [Printer flushCache] - libLineaSDK.a(PrinterSDK.o) の [Printer initCheck] -[Printer processData :] in libLineaSDK.a(PrinterSDK.o) -[Printer setConnState:] in libLineaSDK.a(PrinterSDK.o) ld: シンボルが見つかりません collect2: ld が 1 つの終了ステータスを返しました (1) (SwipeIT)o) -libLineaSDK.a(PrinterSDK.o) の [Printer msProcessFinancialCard:track1:track2:] - libLineaSDK.a(PrinterSDK.o) の [Printer cryptoRawSetKey:encryptedData:] - libLineaSDK.a(PrinterSDK) の [Printer closeChannel:] .o) -libLineaSDK.a(PrinterSDK.o) の [Printer openChannel:] - libLineaSDK.a(PrinterSDK.o) の [Printer flushCache] - libLineaSDK.a(PrinterSDK.o) の [Printer initCheck] -[Printer processData :] in libLineaSDK.a(PrinterSDK.o) -[Printer setConnState:] in libLineaSDK.a(PrinterSDK.o) ld: シンボルが見つかりません collect2: ld が 1 つの終了ステータスを返しました (1) (SwipeIT)] libLineaSDK.a(PrinterSDK.o)内 - [Printer flushCache] libLineaSDK.a(PrinterSDK.o)内 - [Printer initCheck] libLineaSDK.a(PrinterSDK.o)内 - [Printer processData:] libLineaSDK.a(PrinterSDK内) .o) -[Printer setConnState:] in libLineaSDK.a(PrinterSDK.o) ld: シンボルが見つかりません collect2: ld が 1 つの終了ステータスを返しました (1) (SwipeIT)] libLineaSDK.a(PrinterSDK.o)内 - [Printer flushCache] libLineaSDK.a(PrinterSDK.o)内 - [Printer initCheck] libLineaSDK.a(PrinterSDK.o)内 - [Printer processData:] libLineaSDK.a(PrinterSDK内) .o) -[Printer setConnState:] in libLineaSDK.a(PrinterSDK.o) ld: シンボルが見つかりません collect2: ld が 1 つの終了ステータスを返しました (1) (SwipeIT)

とにかく誰かが私を助けてくれますか、それとも正しい方向に向けてくれますか? アドバイスをいただければ幸いです。

4

1 に答える 1

1

__Unwind_Resume_or_Rethrow は C++ シンボル [1] であるため、既に提供しているオプションに「--cxx」オプションを追加する必要があります。

これにより、gcc (C) から g++ (C++) コンパイラ/リンカーに切り替わり、不足しているシンボルをライブラリに提供する必要があります。

[1] http://refspecs.freestandards.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/baselib--unwind-resume-or-rethrow.html

于 2011-08-18T17:04:23.860 に答える