Collectives™ on Stack Overflow

Find centralized, trusted content and collaborate around the technologies you use most.

Learn more about Collectives

Teams

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Learn more about Teams

I'd like to try to make a user-space device driver using libusb on Mac, but I'm confused where to start. In the SDK installer (which I got from http://www.ellert.se/twain-sane ) it said something about examples which I couldn't find anywhere on my computer.

Could anyone please describe how do I set up libusb for development on OS X? May I use Xcode? What should I include in my code?

This answer is more appropriate for these days, in which brew is the standard way to install these things! chesterbr May 14, 2015 at 4:23

I tried to install the SDK from the aforementioned website and couldn't find a trace of it once the installer finished. Though I did find some libusb items at /usr/local/Developer/SDKs/MacOSX10.6.sdk/usr/local/ I'm not sure it came from that installer as I couldn't find any examples, just libraries and they were labeled as libusb0.1.4.

On the other hand, since you asked your question with the macports tag, I'd suggest you use that to install libusb as it at least puts everything in a known location:

  • /opt/local/var/macports/software for install files
  • /opt/local/lib for libraries
  • /opt/local/include for header files
  • If you've never used macports then once you have macports installed then you can install libusb using

    sudo port install libusb
    

    to install libusb1.0 or

    sudo port install libusb-legacy

    to install libusb0.1.12.

    Then you can create a project in Xcode and link to the libusb-*.a library contained in /opt/local/lib (in my directory my library file is called libusb-1.0.a since I have libusb1.0 installed).

    I don't have much experience using Xcode so I can't help you any further down this path. Personally what I've done so far is use a Python wrapper called pyusb to do some quick experimentation with libusb as I don't have to do IDE setup or library/include file setup with Python.

    UPDATE: Poking around the macports install directory for libusb, I didn't find any examples included which was a bummer. If you've gotten this far then I'd suggest going directly to the source for libusb, download and unpack the tar file, and building the code that's in the example directory. Sorry for the roundabout way of getting libusb examples but I've really come to appreciate the organization macports imposes on installations which saves me quite a bit of future pain (like when I want to uninstall).

    @JonCage because this answer is from 2010. A lot has changed in five years. Homebrew is the best package manager for OS X at this time. – taco Jul 24, 2015 at 20:17

    link libusb to the build system using

    brew link libusb

    to be able to configure any project depending on libusb, use pkg-config:

    pkg-config --cflags libusb-1.0

    pkg-config --libs libusb-1.0

    before calling any ./configure

    Thanks for contributing an answer to Stack Overflow!

    • Please be sure to answer the question. Provide details and share your research!

    But avoid

    • Asking for help, clarification, or responding to other answers.
    • Making statements based on opinion; back them up with references or personal experience.

    To learn more, see our tips on writing great answers.