1

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

-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
4

2 回答 2

1

尝试:

-gcc_flags "-force_load ${ProjectDir}/libflite.a -lgcc_eh -force_load ${ProjectDir}/libtestflight.a -ObjC" -nosymbolstrip -nostrip -cxx
于 2011-10-01T14:15:36.883 回答
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 编译器选项。

于 2011-10-03T21:22:57.793 回答