2016-10-11 1 views
2

В iOS 10 есть функция clock_gettime в системной библиотеке.Сбой libcurl на iOS 9 при компиляции с последними iOS sdk

Когда я скомпилировать завиток на последней IOS SDK, configure сценарий всегда определяют HAVE_CLOCK_GETTIME_MONOTONIC (но я определить -miphoneos-version-min=8.0!), Которые приводят к сбою в предыдущих версиях IOS. Crash выглядит как EXC_BREAKPOINT (EXC_ARM_BREAKPOINT) на dylib stub_binder. Сбой произошел, когда вызывается curlx_tvnow(). С HAVE_CLOCK_GETTIME_MONOTONIC он вызывает clock_gettime, что не существует на предварительной прошивке 10.

Есть ли способ отключить HAVE_CLOCK_GETTIME_MONOTONIC при -miphoneos-version-min менее 10,0?

+0

На данный момент я просто удаляю некоторые строки из 'configure', чтобы отключить тест HAVE_CLOCK_GETTIME_MONOTONIC. – SBKarr

+0

yeah, xcode8/macos 10.12 сломал вещи ... скрипт настройки curl должен быть скорректирован для этого, но еще не исправлен. См. Https://curl.haxx.se/mail/lib-2016-09/0043.html для получения более подробной информации. –

+0

'-Werror = partial-availability' в' CFLAGS' кажется лучшим решением, а затем вручную отредактируйте 'configure' (от https://curl.haxx.se/mail/lib-2016-09/0051.html) – SBKarr

ответ

0

я есть компиляции CURL (https://curl.haxx.se/download.html) с добавлением CFLAGS = CFLAGS + "-miphoneos-версия-Min = 8.0 -Werror = частичной готовности" и его работает нормально для меня.

Смежные вопросы