Monotouch Mtouch аргументы проблемы - PullRequest
1 голос
/ 01 октября 2011

Не удается заставить эти два аргумента играть хорошо при компиляции проекта. Любая помощь будет высоко ценится.

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

1 голос
/ 01 октября 2011

Попробуйте:

-gcc_flags "-force_load ${ProjectDir}/libflite.a -lgcc_eh -force_load ${ProjectDir}/libtestflight.a -ObjC" -nosymbolstrip -nostrip -cxx
0 голосов
/ 04 октября 2011

Объедините оба аргумента и используйте --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.

...