usb_detach_kernel_driver_np is implemented on linux only, so check for linux in preprocessor if.

LIBUSB_HAS_DETACH_KERNEL_DRIVER_NP is defined on Mac OS X for some reason, but it’s not implemented.