希望有人可以帮助我或指出我正确的方向。我正在使用monotouch编写一个使用Linea Pro条形码扫描仪盒的iPod Touch应用程序。
我有Linea Pro案例的SDK,我已经按照以下教程
(你可以看到我发布了一个请求帮助的回复,但我对“非拇指”版本感到有些困惑)
我尝试过匹配建议的montouch等版本,但找不到monotouch 3.2.4
我遇到的问题是,当我输入构建选项中的参数时,应用程序启动并立即崩溃,如果我删除构建参数,应用程序启动正常但linea pro案例将无效(正如您所期望的那样) )
我正在使用的构建参数是
-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”,引自: - libLineaSDK.a中的[CommStream readThread:](CommStream.o) - libLineaSDK.a中的[CommStream stream:handleEvent:](CommStream.o) - libLineaSDK.a中的[EAStream eaClean](EAStream.o) - libLineaSDK.a中的[EAStream EAAccessoryDidConnect:](EAStream.o) - libLineaSDK.a中的[Linea paperStatus:](LineaSDK.o) - libLineaSDK.a中的[Linea magneticCardData:track2:track3:](LineaSDK.o) - libLineaSDK.a中的[Linea smartCardRemoved](LineaSDK.o) - libLineaSDK.a中的[Linea smartCardInserted](LineaSDK.o) - libLineaSDK.a中的[Linea barcodeData:type:](LineaSDK.o) - libLineaSDK.a中的[Linea btmSetEnabled:](LineaSDK.o) - libLineaSDK.a中的[Linea btmGetEnabled](LineaSDK.o) - libLineaSDK.a中的[Linea bt301ReadThread:](LineaSDK.o) - libLineaSDK.a中的[Linea cryptoAuthenticateiPod:](LineaSDK.o) - libLineaSDK.a中的[Linea setBarcodeTypeMode:](LineaSDK.o) - libLineaSDK.a中的[Linea getBarcodeTypeMode](LineaSDK.o) - libLineaSDK.a中的[Linea msProcessFinancialCard:track1:track2:](LineaSDK.o) - libLineaSDK.a中的[Linea updateFirmware:](LineaSDK.o) - libLineaSDK.a中的[Linea playSound:beepData:length:](LineaSDK.o) - libLineaSDK.a中的[Linea setScanBeep:volume:beepData:length:](LineaSDK.o) - libLineaSDK.a中的[Linea processData:](LineaSDK.o) - libLineaSDK.a中的[Linea sendCommand:command:inData:inLength:outData:](LineaSDK.o) - libLineaSDK.a中的[Linea setConnState:](LineaSDK.o) - libLineaSDK.a中的[Linea processBTEvents:](LineaSDK.o) - libLineaSDK.a中的[Linea dealloc](LineaSDK.o) - libLineaSDK.a中的[Printer msProcessFinancialCard:track1:track2:](PrinterSDK.o) - libLineaSDK.a中的[Printer cryptoRawSetKey:encryptedData:](PrinterSDK.o) - libLineaSDK.a中的[Printer closeChannel:](PrinterSDK.o) - libLineaSDK.a中的[Printer openChannel:](PrinterSDK.o) - libLineaSDK.a中的[Printer flushCache](PrinterSDK.o) - libLineaSDK.a中的[Printer initCheck](PrinterSDK.o) - libLineaSDK.a中的[Printer processData:](PrinterSDK.o) - libLineaSDK.a中的[Printer setConnState:](PrinterSDK.o)ld:找不到符号collect2:ld返回1退出状态(1)(SwipeIT)
任何人都可以帮助我或者指出我正确的方向吗?任何建议都会非常感激。
答案 0 :(得分:1)
__ Unwind_Resume_or_Rethrow是一个C ++符号[1],因此您应该为已经提供的选项添加“--cxx”选项。
这将从gcc(C)切换到g ++(C ++)编译器/链接器,并且应该为库提供缺少的符号。