Hallo Welt
Beim Erstellen von DLLs mit Qt-Migrationshintergrund in Visual Studio bin ich auf ein hübsches kleines Problem namens "C2491" gestossen.
error C2491: 'Class::staticMetaObject': Definition von Statisches Datenmember für dllimport nicht zulässig.
Damit wird aller relevante Code umklammert:
Um die moc_*-Datei einzubinden, gibt es ein Include dafür.
Im QtCreator würde dieses Problem schlicht mit
in der .pro-Datei gelöst.
Die Klassen werden selbstverständlich mit
angegeben.
Wenn ich einfach immer alles mit Q_DECL_EXPORT markiere (= __declspec(dllexport)), dann läuft alles. Nur ist das ja eigentlich nicht der Sinn der Sache ;-)
Weiss jemand Rat?
Gruss
cwriter
Beim Erstellen von DLLs mit Qt-Migrationshintergrund in Visual Studio bin ich auf ein hübsches kleines Problem namens "C2491" gestossen.
error C2491: 'Class::staticMetaObject': Definition von Statisches Datenmember für dllimport nicht zulässig.
Damit wird aller relevante Code umklammert:
C++:
#ifdef EXPORT_DLL
#define DLLEXP Q_DECL_EXPORT
#else
#define DLLEXP Q_DECL_IMPORT
#endif
Im QtCreator würde dieses Problem schlicht mit
Code:
TEMPLATE = lib
Die Klassen werden selbstverständlich mit
C++:
class DLLEXP Class
{
};
Wenn ich einfach immer alles mit Q_DECL_EXPORT markiere (= __declspec(dllexport)), dann läuft alles. Nur ist das ja eigentlich nicht der Sinn der Sache ;-)
Weiss jemand Rat?
Gruss
cwriter