[Qt4] Pb compilation : Undefined symbols
salut, j'ai un problème lors de la compilation mais je comprends pas ou,
pourriez vous m'aider, voici le message erreur :
Citation:
Envoyé par compilation
g++ -c -pipe -g -Wall -W -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Trolltech/Qt-4.4.1/mkspecs/macx-g++ -I. -I/usr/local/Trolltech/Qt-4.4.1/lib/QtCore.framework/Headers -I/usr/local/Trolltech/Qt-4.4.1/include/QtCore -I/usr/local/Trolltech/Qt-4.4.1/include/QtCore -I/usr/local/Trolltech/Qt-4.4.1/lib/QtGui.framework/Headers -I/usr/local/Trolltech/Qt-4.4.1/include/QtGui -I/usr/local/Trolltech/Qt-4.4.1/include/QtGui -I/usr/local/Trolltech/Qt-4.4.1/include -I. -Isrc/coremanager -Isrc/mainInterface -Ibuild/moc -Ibuild/ui -F/usr/local/Trolltech/Qt-4.4.1/lib -o build/o/unix/GinnCore.o src/coremanager/GinnCore.cpp
g++ -headerpad_max_install_names -o bin/Ginn++.app/Contents/MacOS/Ginn++.app build/o/unix/main.o build/o/unix/GinnCore.o build/o/unix/UIMain.o build/o/unix/moc_GinnCore.o build/o/unix/moc_UIMain.o build/o/unix/qrc_resources.o -F/usr/local/Trolltech/Qt-4.4.1/lib -L/usr/local/Trolltech/Qt-4.4.1/lib -framework QtGui -L/usr/local/Trolltech/Qt-4.4.1/lib -F/usr/local/Trolltech/Qt-4.4.1/lib -framework Carbon -framework AppKit -framework QtCore -lz -lm -framework ApplicationServices
Undefined symbols:
"GinnCore::mInstances", referenced from:
__ZN8GinnCore10mInstancesE$non_lazy_ptr in GinnCore.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [bin/Ginn++.app/Contents/MacOS/Ginn++.app] Error 1
et voici la la class GinnCore qui semble posé problème.
L'entete :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| #ifndef GINNCORE_H
#define GINNCORE_H
#include <QObject>
#include <QHash>
class UIMain;
class GinnCore : public QObject
{
Q_OBJECT
public:
static void init();
static UIMain* mainWindow();
private:
static QHash<const QMetaObject*, QObject*> mInstances;
};
#endif // GINNCORE_H |
et le corp :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| #include "GinnCore.h"
#include "../maininterface/UIMain.h"
void GinnCore::init()
{
mainWindow()->initGui();
}
UIMain* GinnCore::mainWindow()
{
if ( !mInstances.contains( &UIMain::staticMetaObject ) )
mInstances[&UIMain::staticMetaObject] = new UIMain();
return qobject_cast<UIMain*>( mInstances[&UIMain::staticMetaObject] );
} |