You are probably running into some precompiler problems. QT defines some macros, and they might conflict with boost method names. I had the same problem when using a library which used "sigc++". You have to make sure, that the boost headers are included, before QT defines their macros (emit, signal, slot,...).
For my project there is a file called "workarounds.h" which includes the relevant files. workarounds.h is included by giving the compiler a command line option "gcc -include workarounds.h". (Actually the solution was written by someone else, who helped me on my project).
#ifndef PACKAGESEARCH_WORKAROUNDS_H
#define PACKAGESEARCH_WORKAROUNDS_H
/*
* Workarounds for symbol clashes
*/
/*
* emit is a #define in qt and a method name in sigc++, so you have to include
* it before qt-anything
*/
#include <sigc++/sigc++.h>
/*
* QT makes use of a GC symbol, which is also defined by libgc, that gets
* included by wibble, that gets included by ept
*/
#define GC QT_GC_WORKAROUND
#include <qwindowdefs.h>
#include <qpainter.h>
#undef GC
#endif
#ifndef PACKAGESEARCH_WORKAROUNDS_H
#define PACKAGESEARCH_WORKAROUNDS_H
/*
* Workarounds for symbol clashes
*/
/*
* emit is a #define in qt and a method name in sigc++, so you have to include
* it before qt-anything
*/
#include <sigc++/sigc++.h>
/*
* QT makes use of a GC symbol, which is also defined by libgc, that gets
* included by wibble, that gets included by ept
*/
#define GC QT_GC_WORKAROUND
#include <qwindowdefs.h>
#include <qpainter.h>
#undef GC
#endif
To copy to clipboard, switch view to plain text mode
Bookmarks