Hairless MIDI<->Serial Bridge is the easiest way to connect serial devices (like Arduinos) to send and receive MIDI signals.
The project home page is http://projectgus.github.com/hairless-midiserial/
Please see that page for information on running and using Hairless Midiserial, and downloadable compiled versions for Windows, OS X and Linux.
Building Hairless Bridge from source
(Note again, prebuilt versions are available for download at the above URL.)
After cloning from github, make sure to run
git submodule init to clone the library submodules.
Hairless Midiserial Bridge release 0.4 was built with Qt 4.7.3. It's also been built and run under Qt 4.7.4 & 4.8.6. Newer Qt version 5.0 will probably require code changes in order to compile and/or run.
The Qt package should contain all dependencies, the graphical IDE "Qt Creator" or the program "qmake" can be used to compile the project hairless-midiserial.pro.
On Windows I recommend building with the MingGW compiler, Visual Studio has not been tested. Neither the MinGW site nor Qt's new owners Digia still distribute older MinGW builds, and MinGW 4.7 is too new for precompiled Qt 4.7.x, so it can be a bit hard to find a prebuilt combination that work. Recently I downloaded mingw-static-4.4.5-all.7z from this Google Code project, and can confirm that works.
(For the Windows release builds I actually cross-build under Linux using wine, as described here.)
qextserialport is distributed as part of the source tree.
The RtMidi library is hosted on github and is linked into the source tree as a git submodule. The
git submodule initcommand is required to pull down RtMidi into a clean clone of the source.
Both libraries are small so they compiled as source files directly into Hairless Bridge, not linked as libraries.
The official releases are static linked, so they've actually been built against Qt versions that were compiled from source, configured with "-static" for static linking.