Next: Example programs, Up: Writing applications
To use any marsyas code in your program(s), you need to include the Marsyas libraries in your project.
The easiest way to compile Marsyas programs is to use qmake. You may do this even if you used autotools to configure Marsyas itself; the author of this documentation uses autotools to build Marsyas, and qmake to build his programs.
Create a my_program_name.pro file:
# your files SOURCES = my_program_name.cpp #HEADERS += extra_file.h #SOURCES += extra_file.cpp ### if running inside the source tree ### adjust as necessary: MARSYAS_INSTALL_DIR = ../../ INCLUDEPATH += $$MARSYAS_INSTALL_DIR/src/marsyas/ LIBPATH += $$MARSYAS_INSTALL_DIR/lib/release/ ### if installed elsewhere #MARSYAS_INSTALL_DIR = /usr/local #MARSYAS_INSTALL_DIR = ${HOME}/usr/ #INCLUDEPATH += $$MARSYAS_INSTALL_DIR/marsyas/ #LIBPATH += $$MARSYAS_INSTALL_DIR/lib/ ### basic OS stuff; do not change! win32-msvc2005:LIBS += marsyas.lib unix:LIBS += -lmarsyas -L$$MARSYAS_INSTALL_DIR/lib !macx:LIBS += -lasound macx:LIBS += -framework CoreAudio -framework CoreMidi -framework CoreFoundation
Then type qmake
to generate a Makefile. Now you many compile
normally.
We highly recommend that you use qmake to create a Makefile. However, if you enjoy swearing at your computer and cursing k&r, rms, gnu, and every other three-letter programmer acronym in existence, go ahead. read on.
Here are sample Makefiles to get you started:
Create the .cpp
and .h
files you will be working
with in the project. Don't worry about the VS project file, it
will be generated by qmake.
Type qmake -project
at the command line to generate the
.pro file, which Qt uses to create the Makefile (or you can make
your own as above). Don't worry about linking to external
libraries, we will take care of that in Visual Studio.
Once you have a .pro
file, type
qmake -tp vc -spec win32-msvc2008
Or equivalent based on your system. This will generate a .vcproj file. Open this in Visual Studio.
Navigate to Tools->Options->Projects and Solutions->VC++ Directories and ensure:
c:\marsyas\build\lib\Release\marsyas.lib
c:\marsyas\build\lib\Release\marsyasqt.lib
"C:\Program Files\Microsoft DirectX SDK (November 2008)\Lib\x86\dsound.lib"
imm32.lib
winmm.lib
ws2_32.lib
System->
Subsystem: Console
These settings worked for the author.