Seite 1 von 1

Release-Fehler VS17-Projekt mit QT

Verfasst: 24. April 2019 10:04
von studi15
Moin,

ich habe ein Visual Studio 17 Projekt, welches eine QT-GUI verwendet. Im Debug Modus läuft alles geschmiert. Wenn ich jetzt aber einen Release (x64) versuche, kommen in VS17 folgende Fehlermeldungen. Jemand eine Idee wie man das beheben kann? Ich vermute, dass es mit QT zusammenhängt. Die Einrichtung von QT hat allerdings mein Vorgänger gemacht. Da habe ich keine Ahnung von. Danke für eure Hilfe!

Code: Alles auswählen

1>------ Erstellen gestartet: Projekt: Compitum, Konfiguration: Release x64 ------
1>qtmaind.lib(qtmain_win.obj) : error LNK2038: Konflikt ermittelt für "_ITERATOR_DEBUG_LEVEL": Der Wert "2" stimmt nicht mit dem Wert "0" in AED.obj überein.
1>qtmaind.lib(qtmain_win.obj) : error LNK2038: Konflikt ermittelt für "RuntimeLibrary": Der Wert "MDd_DynamicDebug" stimmt nicht mit dem Wert "MD_DynamicRelease" in AED.obj überein.
1>MSVCRT.lib(initializers.obj) : warning LNK4098: Standardbibliothek "msvcrtd.lib" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden.
1>Compitum.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual struct QMetaObject const * __cdecl Compitum::metaObject(void)const " (?metaObject@Compitum@@UEBAPEBUQMetaObject@@XZ)".
1>Compitum.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual void * __cdecl Compitum::qt_metacast(char const *)" (?qt_metacast@Compitum@@UEAAPEAXPEBD@Z)".
1>Compitum.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual int __cdecl Compitum::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@Compitum@@UEAAHW4Call@QMetaObject@@HPEAPEAX@Z)".
1>Compitum.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static struct QMetaObject const Compitum::staticMetaObject" (?staticMetaObject@Compitum@@2UQMetaObject@@B)".
1>FileDialog.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual struct QMetaObject const * __cdecl FileDialog::metaObject(void)const " (?metaObject@FileDialog@@UEBAPEBUQMetaObject@@XZ)".
1>FileDialog.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual void * __cdecl FileDialog::qt_metacast(char const *)" (?qt_metacast@FileDialog@@UEAAPEAXPEBD@Z)".
1>FileDialog.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual int __cdecl FileDialog::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@FileDialog@@UEAAHW4Call@QMetaObject@@HPEAPEAX@Z)".
1>C:\Users\user\Documents\Compitum\src\x64\Release\Compitum.exe : fatal error LNK1120: 7 nicht aufgelöste Externe
1>Die Erstellung des Projekts "Compitum.vcxproj" ist abgeschlossen -- FEHLER.
========== Erstellen: 0 erfolgreich, 1 fehlerhaft, 0 aktuell, 0 übersprungen ==========

Re: Release-Fehler VS17-Projekt mit QT

Verfasst: 24. April 2019 18:30
von Christian81
Wie hast Du das MSVC-Projekt erstellt? Mit qmake? Sieht mir nicht danach aus da er versucht gegen die qtmaind.lib zu linken was eindeutig die Debug-Version von qtmain.lib ist welche eigentlich gelinkt werden sollte.

Re: Release-Fehler VS17-Projekt mit QT

Verfasst: 25. April 2019 10:32
von studi15
Moin,

ja mit qmake. Die meisten Fehler konnte ich mit ein bisschen Hilfe jetzt lösen. Der einzige Fehler der übrig bleibt, ist folgender. Hast du da eine Idee?

Code: Alles auswählen

1>Compitum.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual struct QMetaObject const * __cdecl Compitum::metaObject(void)const " (?metaObject@Compitum@@UEBAPEBUQMetaObject@@XZ)".
1>Compitum.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual void * __cdecl Compitum::qt_metacast(char const *)" (?qt_metacast@Compitum@@UEAAPEAXPEBD@Z)".
1>Compitum.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual int __cdecl Compitum::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@Compitum@@UEAAHW4Call@QMetaObject@@HPEAPEAX@Z)".
1>Compitum.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static struct QMetaObject const Compitum::staticMetaObject" (?staticMetaObject@Compitum@@2UQMetaObject@@B)".
1>C:\Users\user\Documents\Compitum\src\x64\Release\\Compitum.exe : fatal error LNK1120: 4 nicht aufgelöste Externe
1>Die Erstellung des Projekts "Compitum.vcxproj" ist abgeschlossen -- FEHLER.
========== Erstellen: 0 erfolgreich, 1 fehlerhaft, 0 aktuell, 0 übersprungen ==========

Re: Release-Fehler VS17-Projekt mit QT

Verfasst: 25. April 2019 17:45
von Christian81
Wenn man qmake venutzt sollte eigentlich alles korrekt erzeugt werden. Ich würde nochmal die Makefiles löschen und mittels qmake neu erzeugen.
Die Fehler sehen auch so aus als hätte qmake hier keine moc-Datei für diese Klasse erzeugt.

Re: Release-Fehler VS17-Projekt mit QT

Verfasst: 21. Mai 2019 11:02
von studi15
Hi,

danke für die Hilfe. Das neu erzeugen hat nicht geklappt. Der Fehler ist weiterhin da. Er tritt nur im Release auf, nicht im Debug.

Re: Release-Fehler VS17-Projekt mit QT

Verfasst: 7. August 2019 13:31
von studi15
Hallo,

mittlerweile konnte ich den Fehler teilweise lösen. Mein Problem jetzt:

Führe ich die Release.exe aus kommt folgende Fehlermeldung:
could not find or load the Qt platform plugin "windows" in ""
Wenn ich versuche im QTCreator zu builden kommt folgende Warnung:
:-1: Warnung: winrt_manifest_install.path is not defined: install target not created
Hat jemand eine Idee?