2016-10-11 202 views
2

在iOS 10中,系统库中有clock_gettime函数。当使用最新的iOS sdk编译iOS 9时,libcurl崩溃

当我在最新的iOS SDK上编译curl时,configure脚本总是定义HAVE_CLOCK_GETTIME_MONOTONIC(但是我定义了-miphoneos-version-min=8.0!),这导致了之前iOS版本的崩溃。在dylib stub_binder上碰撞看起来像EXC_BREAKPOINT (EXC_ARM_BREAKPOINT)。调用curlx_tvnow()时发生崩溃。随着HAVE_CLOCK_GETTIME_MONOTONIC它调用clock_gettime,即不存在于预iOS的10

有没有什么方法来禁用HAVE_CLOCK_GETTIME_MONOTONIC-miphoneos-version-min小于10.0的?

+0

现在我只是从'configure'中删除一些行来禁用'HAVE_CLOCK_GETTIME_MONOTONIC'测试。 – SBKarr

+0

是的,xcode8/macos 10.12破坏了东西...... curl配置脚本需要调整,但尚未修复。请参阅https://curl.haxx.se/mail/lib-2016-09/0043.html以获取更多详细信息 –

+0

'CFLAGS'中的'-Werror = partial-availability'似乎是更好的解决方案,然后手动编辑'configure'(from https://curl.haxx.se/mail/lib-2016-09/0051.html) – SBKarr

回答