#ios #c #curl #libcurl #ios10
#iOS #c #curl #libcurl #ios10
Вопрос:
В iOS 10 есть clock_gettime
функция в системной библиотеке.
Когда я компилирую curl на последней версии iOS SDK, configure
скрипт всегда определяет HAVE_CLOCK_GETTIME_MONOTONIC
(но я определяю -miphoneos-version-min=8.0
!), Что приводит к сбою в предыдущих версиях iOS. Сбой выглядит как EXC_BREAKPOINT (EXC_ARM_BREAKPOINT)
вкл dylib stub_binder
. Сбой произошел при curlx_tvnow()
вызове. С HAVE_CLOCK_GETTIME_MONOTONIC
его вызовами clock_gettime
это не существует в версии до iOS 10.
Есть ли какой-либо способ отключить HAVE_CLOCK_GETTIME_MONOTONIC
, если -miphoneos-version-min
меньше 10.0?
Комментарии:
1. На данный момент я просто удаляю некоторые строки из
configure
, чтобы отключитьHAVE_CLOCK_GETTIME_MONOTONIC
тест.2. да, xcode8 / macos 10.12 сломал вещи… для этого необходимо настроить сценарий настройки curl, но он еще не исправлен. См . curl.haxx.se/mail/lib-2016-09/0043.html для получения более подробной информации
3.
-Werror=partial-availability
CFLAGS
кажется, что это лучшее решение, чем редактирование вручнуюconfigure
(из curl.haxx.se/mail/lib-2016-09/0051.html )4. Для пользователей POCO: pocoproject.org/forum /…
Ответ №1:
я скомпилировал CURL (https://curl.haxx.se/download.html ) с добавлением CFLAGS= CFLAGS «-miphoneos-version-min=8.0 -Ошибка = частичная доступность» и для меня все работает нормально.