ich habe mir die Tage mal die Demo für benutzerdefinierte Fenster Plugins angeschaut und wollte selbst mal eins erstellen. Nach zig Fehlern und überarbeiteten Einstellungen bin ich jetzt an folgendem Punkt:
Alle Quelldateien sind fehlerfrei kompiliert, moc ist über die Headers gelaufen. Nur bei einer moc Datei hat er jetzt Probleme beim Kompilieren:
Ich entwickle momentan unter VS 2010 ( das hat mich schon einige Nerven mit Qt gekostet, aber mittlerweile gehts1>moc_SFeld.cpp(40): warning C4273: 'staticMetaObject': Inkonsistente DLL-Bindung.
1> c:\dokumente und einstellungen\mark\eigene dateien\tacticstudios\trunk\src\gui\SFeld.h(12): Siehe vorherige Definition von 'public: static QMetaObject const MT::GUI::SFeld::staticMetaObject'
1>moc_SFeld.cpp(40): error C2491: 'MT::GUI::SFeld::staticMetaObject': Definition von Statisches Datenmember für dllimport nicht zulässig
1>moc_SFeld.cpp(50): warning C4273: 'MT::GUI::SFeld::metaObject': Inkonsistente DLL-Bindung.
1> c:\dokumente und einstellungen\mark\eigene dateien\tacticstudios\trunk\src\gui\SFeld.h(12): Siehe vorherige Definition von 'metaObject'
1>moc_SFeld.cpp(55): warning C4273: 'MT::GUI::SFeld::qt_metacast': Inkonsistente DLL-Bindung.
1> c:\dokumente und einstellungen\mark\eigene dateien\tacticstudios\trunk\src\gui\SFeld.h(12): Siehe vorherige Definition von 'qt_metacast'
1>moc_SFeld.cpp(63): warning C4273: 'MT::GUI::SFeld::qt_metacall': Inkonsistente DLL-Bindung.
1> c:\dokumente und einstellungen\mark\eigene dateien\tacticstudios\trunk\src\gui\SFeld.h(12): Siehe vorherige Definition von 'qt_metacall'
1> SFeld.cpp
1>SFeld.cpp(8): warning C4273: 'MT::GUI::SFeld::SFeld': Inkonsistente DLL-Bindung.
1> c:\dokumente und einstellungen\mark\eigene dateien\tacticstudios\trunk\src\gui\SFeld.h(15): Siehe vorherige Definition von '{ctor}'
Code: Alles auswählen
#ifndef MT_GUI_SFELD_H
#define MT_GUI_SFELD_H
#include <QWidget.h>
#include <QtDesigner/QDesignerExportWidget.h>
namespace MT
{
namespace GUI {
class QDESIGNER_WIDGET_EXPORT SFeld : public QWidget
{
Q_OBJECT
public:
SFeld(QWidget* parent = 0);
};
}
}
#endif //MT_GUI_SFELD_HCode: Alles auswählen
/****************************************************************************
** Meta object code from reading C++ file 'SFeld.h'
**
** Created: Fri 16. Jul 15:48:56 2010
** by: The Qt Meta Object Compiler version 62 (Qt 4.6.2)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "SFeld.h"
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'SFeld.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 62
#error "This file was generated using the moc from 4.6.2. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
static const uint qt_meta_data_MT__GUI__SFeld[] = {
// content:
4, // revision
0, // classname
0, 0, // classinfo
0, 0, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
0 // eod
};
static const char qt_meta_stringdata_MT__GUI__SFeld[] = {
"MT::GUI::SFeld\0"
};
const QMetaObject MT::GUI::SFeld::staticMetaObject = {
{ &QWidget::staticMetaObject, qt_meta_stringdata_MT__GUI__SFeld,
qt_meta_data_MT__GUI__SFeld, 0 }
};
#ifdef Q_NO_DATA_RELOCATION
const QMetaObject &MT::GUI::SFeld::getStaticMetaObject() { return staticMetaObject; }
#endif //Q_NO_DATA_RELOCATION
const QMetaObject *MT::GUI::SFeld::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject;
}
void *MT::GUI::SFeld::qt_metacast(const char *_clname)
{
if (!_clname) return 0;
if (!strcmp(_clname, qt_meta_stringdata_MT__GUI__SFeld))
return static_cast<void*>(const_cast< SFeld*>(this));
return QWidget::qt_metacast(_clname);
}
int MT::GUI::SFeld::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QWidget::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
return _id;
}
QT_END_MOC_NAMESPACE
Gruß,
mark