libftdi和libusb的问题

时间:2011-06-07 15:54:19

标签: macos libusb

我正在运行Macbook,OS X 10.6.4。我已经安装了最新版本的libusb 1.x以及libusb-compat。 libusb中的示例应用程序编译并运行,没有问题,所以我假设它已正确安装。 Libftdi似乎也正确安装,但它似乎与libusb有关。我尝试了一个示例应用程序,我收到此错误消息:

$ ./simple
dyld: lazy symbol binding failed: Symbol not found: _usb_init
  Referenced from: /Users/Me/Downloads/libftdi-0.19/src/.libs/libftdi.1.dylib
  Expected in: flat namespace

dyld: Symbol not found: _usb_init
  Referenced from: /Users/Me/Downloads/libftdi-0.19/src/.libs/libftdi.1.dylib
  Expected in: flat namespace

Trace/BPT trap

libusb应该受到责备的假设是因为_usb_init是一个libusb函数,我在这里发现了一条与http://www.jedi.be/blog/2009/11/11/ruby-usb-libusb/相同的帖子,但对于Ruby来说。

尝试使用Pylibftdi,

Traceback (most recent call last):
  File "blah/list_devices.py", line 4, in <module>
    for device in Driver().list_devices():
  File "/Library/Python/2.6/site-packages/pylibftdi/driver.py", line 61, in __init__
    fdll = CDLL(ftdi_lib)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/ctypes/__init__.py", line 345, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: dlopen(/usr/local/lib/libftdi.dylib, 6): Symbol not found: _usb_bulk_read
  Referenced from: /usr/local/lib/libftdi.dylib
  Expected in: flat namespace
 in /usr/local/lib/libftdi.dylib

请注意,要使用Pyftdi运行任何东西,我必须为i386而不是x86_64安装libftdi作为默认值(抛出mach-o错误) - 但是,即使安装libftdi'正常'也会给出上面的OSErrors。任何建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

我相信使用libftdi 0.19你应该使用libusb 0.1(至少根据他们的网页。http://www.intra2net.com/en/developer/libftdi/download.php)。如果你愿意,有一个libftdi端口可以使用libusb 1.0。我一直在使用SYNC和ASYNC Fifos,它一直很好用。

http://developer.intra2net.com/git/?p=libftdi-1.0

GIT中://developer.intra2net.com/libftdi-1.0

祝你好运