Monotouch mtouch争论问题

时间:2011-09-30 22:49:52

标签: xamarin.ios static-linking native-code testflight flite

在编译项目时难以让这两个参数发挥得很好。任何帮助将不胜感激。

-gcc_flags "-L${ProjectDir} -lflite -all_load" -nosymbolstrip -nostrip -cxx -gcc_flags " -lgcc_eh -L${ProjectDir} -ltestflight -ObjC"

flite是一个本机C库,而TestFlight是一个Obj-C库。知道如何让他们一起玩得很好吗?

lflite图书馆工作得很好,然后我去添加TestFlight,事情横空出世。该解决方案在启动时编译但崩溃:

Sep 30 15:40:18 Dev-iPhone UIKitApplication:com.cognitopia.scando[0x2e64][3288] <Notice>: Native stacktrace:

Sep 30 15:40:18 Dev-iPhone UIKitApplication:com.cognitopia.scando[0x2e64][3288] <Notice>:   0   ScanDo                              0x005f9770 mono_handle_native_sigsegv + 412

Sep 30 15:40:18 Dev-iPhone UIKitApplication:com.cognitopia.scando[0x2e64][3288] <Notice>:   1   ScanDo                              0x005c9788 mono_sigsegv_signal_handler + 360

Sep 30 15:40:18 Dev-iPhone UIKitApplication:com.cognitopia.scando[0x2e64][3288] <Notice>:   2   libsystem_c.dylib                   0x34f3172f _sigtramp + 42

Sep 30 15:40:18 Dev-iPhone UIKitApplication:com.cognitopia.scando[0x2e64][3288] <Notice>:   3   ScanDo                              0x005c93f0 mono_jit_runtime_invoke + 2800

2 个答案:

答案 0 :(得分:1)

尝试:

-gcc_flags "-force_load ${ProjectDir}/libflite.a -lgcc_eh -force_load ${ProjectDir}/libtestflight.a -ObjC" -nosymbolstrip -nostrip -cxx

答案 1 :(得分:0)

合并两个参数并使用--force_load,因为它仅适用于提供的库,而不是--load_all,它会影响所有库(并且可以使用libgcc_eh.a或libtestflight.a进行操作)。这会产生类似的结果:

-nosymbolstrip -nostrip -cxx -gcc_flags "-L${ProjectDir} -lflite -force_load ${ProjectDir}/libflite.a -lgcc_eh -ltestflight -ObjC"

据报道,使用testflight SDK需要使用LLVM编译器选项。