Monotouch Linea Pro SDK问题与构建参数

Monotouch Linea Pro SDK issue with build arguments

本文关键字:构建 参数 问题 SDK Linea Pro Monotouch      更新时间:2023-10-16

希望有人能帮助我或指给我正确的方向。我正在使用monotouch编写一个iPod Touch应用程序,该应用程序使用Linea Pro条形码扫描仪外壳。

我有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

我遇到的问题是,当我在构建选项中输入参数时,应用程序启动并立即崩溃,如果我删除构建参数,应用程序启动正常,但linea pro案例将不起作用(如您所期望的)

我使用的build参数是

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

如果我尝试通过模拟器构建它,我会得到以下

错误1:mtouch失败,提示以下信息:/var/folders/0q/kc6tw0jd35n7nsc4fmt98yvm0000gn/T/tmp140720c3.tmp/main.m:在函数'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.tmp/main.m: 2058:警告:从指针强制转换为不同大小的整数/var/folders/0q/kc6tw0jd35n7nsc4fmt98yvm0000gn/T/tmp140720c3.tmp/main.m: 2058:警告:初始化使指针从整数转换而不强制转换未定义符号:"__Unwind_Resume_or_Rethrow",引用自:-[CommStream readThread:] in libLineaSDK.a(CommStream.o)-[CommStream stream:handleEvent:] in libLineaSDK.a(CommStream.o)-[EAStream eclean] in libLineaSDK.a(EAStream.o)-[EAStream EAAccessoryDidConnect:] in libLineaSDK.a(EAStream.o)-[Linea paperStatus:] in linlineasdk .a(LineaSDK.o)-[Linea magneticCardData:track2:track3:] in linlineasdk .a(LineaSDK.o)-[Linea smartcarremoved]在libLineaSDK.a(LineaSDK.o)-[Linea smartcardinsed] in linlineasdk .a(LineaSDK.o)-[Linea barcodeData:type:] in linlineasdk .a(LineaSDK.o)-[Linea btmSetEnabled:] in libLineaSDK.a(LineaSDK.o)-[Linea btmGetEnabled]在libLineaSDK.a(LineaSDK.o)-[Linea bt301ReadThread:] in linlineasdk .a(LineaSDK.o)-[Linea cryptoauthenticatepod:] in lineasdk .a(LineaSDK.o)-[Linea setBarcodeTypeMode:] in linlineasdk .a(LineaSDK.o)-[Linea getBarcodeTypeMode]在libLineaSDK.a(LineaSDK.o)-[Linea msProcessFinancialCard:track1:track2:] in linlineasdk .a(LineaSDK.o)-[Linea updateFirmware:]在libLineaSDK.a(LineaSDK.o)-[Linea playSound:beepData:length:] in linineasdk .a(linineasdk .o)—[Linea setScanBeep:volume:beepData:length:] in linlineasdk .a(LineaSDK.o)-[Linea processData:] in linlineasdk .a(LineaSDK.o)—[Linea sendCommand:command:inData:inLength:outData:] in linlineasdk .a(LineaSDK.o)-[Linea setConnState:] in linlineasdk .a(LineaSDK.o)-[Linea processBTEvents:] in linlineasdk .a(LineaSDK.o)-[line dealloc]在libLineaSDK.a(LineaSDK.o)-[Printer msProcessFinancialCard:track1:track2:] in libLineaSDK.a(PrinterSDK.o)-[Printer cryptoRawSetKey:encryptedData:] in libLineaSDK.a(PrinterSDK.o)-[Printer closeChannel:] in liblineassdk .a(PrinterSDK.o)-[Printer openChannel:] in liblineassdk .a(PrinterSDK.o)-[Printer flushCache] in libLineaSDK.a(PrinterSDK.o)-[Printer initCheck] in libLineaSDK.a(PrinterSDK.o)-[Printer processData:] in liblineassdk .a(PrinterSDK.o)-[Printer setConnState:] in libLineaSDK.a(PrinterSDK.o) ld: symbol(s) not found collect2: ld returned 1 exit status (1) (SwipeIT)

有谁能帮我一下或者给我指个方向吗?如有任何建议,我将不胜感激。

__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