현재 Mac OS X에서 lib usb-1 (1.0.19) 및 usb-compat (0.1.5)를 사용하여 libmtp 버전 1.1.8을 빌드하려고합니다. 동적 lib를 생성합니다.libmtp가 MacOSX에서 HAVE_USB1 플래그로 빌드하지 않습니다.
libmtp가 실제로 USB1 라이브러리를 지원하는지 잘 모르겠습니다. 주로 libusb-glue.c를 빌드하는 데 문제가 있기 때문입니다. config.h를, 나는이 : 대신 USB0
의 USB1을 이동할 때result = USB_BULK_READ(ptp_usb->handle,
ptp_usb->inep,
(char*) bytes,
toread,
ptp_usb->timeout);
이 매개 변수를 추가 할 플래그가 없습니다 :
#undef HAVE_LIBUSB0
#define HAVE_LIBUSB1 /**/
사지 - glue.c 일, 예를 들면 내가 플래그 USB1 활성화하고 USB0 금지 가지고 정의로
는 사지 - glue.h이
#ifdef HAVE_LIBUSB1
#define USB_BULK_READ libusb_bulk_transfer
#define USB_BULK_WRITE libusb_bulk_transfer
#endif
#ifdef HAVE_LIBUSB0
#define USB_BULK_READ usb_bulk_read
#define USB_BULK_WRITE usb_bulk_write
#endif
#ifdef HAVE_LIBOPENUSB
#define USB_BULK_READ openusb_bulk_xfer
#define USB_BULK_WRITE openusb_bulk_xfer
#endif
과 같이 정의된다 6 개 인수
int API_EXPORTED libusb_bulk_transfer(struct libusb_device_handle *dev_handle,
unsigned char endpoint, unsigned char *data, int length, int *transferred,
unsigned int timeout)
{
return do_sync_bulk_transfer(dev_handle, endpoint, data, length,
transferred, timeout, LIBUSB_TRANSFER_TYPE_BULK);
}
을 취하는 libusb를-1 파일의 sync.c 파일에 어떤 이상한 것은 USB_BULK_READ/WRITE 추가 할 또한 USB0 또는 USB1 지원 플래그되지 않은이/대한 누락 된 매개 변수를 제거하다 USB1 지원
어떤 생각이나 lib usb1 또는 lib usb0을 더 잘 사용해야하는지 알고 있습니까? 아마도 lib 디렉토리 - USB0 + 구축하는 것이 좋습니다 당신의 OSX 개발 상자에 libmtp 얻을 사제를 사용하는 대신
감사
에게