xcode 11.0在使用libusb开发的时候,编译的过程中经常会出现以下错误,每次都必须clean才能恢复正常,
根据提示将build phases的Compile Sources直接挪动到最后边,没能解决问题
也有人说Target ->Build Phases下,把Embed APP Extensions移动到列表末尾,能解决问题,但可惜我这里没有用
经过多方查验,发现是从xcode10.0就开始有这个问题了,原因是:
Xcode 10 默认使用的build system是New build system,与Xcode9不同。
Cycle inside USBSN; building could produce unreliable results. This usually can be resolved by moving the target's Headers build phase before Compile Sources.
Cycle details:
→ Target 'USBSN' has link command with output '/Users/jerry.yang/Desktop/USBSN/build/Debug/USBSN'
○ Target 'USBSN' has copy command from '/usr/local/lib/libusb-1.0.0.dylib' to '~/Desktop/USBSN/build/Debug/libusb-1.0.0.dylib'
○ Target 'USBSN' has link command with output '~/Desktop/USBSN/build/Debug/USBSN'
解决方法是更该build system:
在Xcode菜单栏 -> File -> Project Settings,将build system修改为legacy build system,然后clean后编译。