Unsolved error LNK2019 bei autogeneriertem Code
-
Hallo,
ich beschäftige mich ganz neu mit Qt und habe dafür VS 2015 mit Qt 5.7 und zugehörigem Add-in installiert.
Wenn ich nun aber ein neues Qt Projekt erstellen möchte und Qt Application auswähle, kann ich den automatisch generierten Code nicht ausführen, obwohl ich nichts verändert habe. Ich erhalte den Fehler:1>qtmaind.lib(qtmain_winrt.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp_RoInitialize" in Funktion "WinMain".
1>qtmaind.lib(qtmain_winrt.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp_RoGetActivationFactory" in Funktion ""public: __cdecl AppContainer::AppContainer(void)" (??0AppContainer@@QEAA@XZ)".
1>qtmaind.lib(qtmain_winrt.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "WindowsCreateStringReference" in Funktion ""private: void __cdecl Microsoft::WRL::Wrappers::HStringReference::CreateReference(wchar_t const *,unsigned int,unsigned int)" (?CreateReference@HStringReference@Wrappers@WRL@Microsoft@@AEAAXPEB_WII@Z)".
1>qtmaind.lib(qtmain_winrt.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "WindowsDeleteString" in Funktion ""public: void __cdecl Microsoft::WRL::Wrappers::HString::Release(void)" (?Release@HString@Wrappers@WRL@Microsoft@@QEAAXXZ)".
1>qtmaind.lib(qtmain_winrt.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "WindowsGetStringRawBuffer" in Funktion ""public: wchar_t const * cdecl Microsoft::WRL::Wrappers::HString::GetRawBuffer(unsigned int *)const " (?GetRawBuffer@HString@Wrappers@WRL@Microsoft@@QEBAPEB_WPEAI@Z)".
1>qtmaind.lib(qtmain_winrt.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "RoOriginateError" in Funktion ""public: static void cdecl Microsoft::WRL::ErrorHelper<0>::OriginateError(long,struct HSTRING *)" (?OriginateError@?$ErrorHelper@$0A@@WRL@Microsoft@@SAXJPEAUHSTRING@@@Z)".Ich habe schon auf vielen Seiten gelesen, dass dies auftritt, wenn die Bibliotheken falsch verlinkt sind. Daraufhin habe ich bei meinem Projekt nachgeschaut (mit Rechtsklick auf dem Projekt Konfigurationseigenschaften>Linker>Allgemein>Zusätzliche Bibliotheksverzeichnisse). Der Pfad führt in den lib Ordner von Qt, was ja eigentlich richtig sein sollte...
Was habe ich übersehen? Welche Einstellung muss ich ändern?
-
Hallo und willkommen beim devnet forum
Leider kann ich dir nicht helfen. Ich habe früher einmal VS mit Qt4 verwendet und festgestellt, dass es ein paar Probleme mit vsaddin gibt. Dies ist einige Jahre her und ich weiss nicht, was sich da geändert hat. Meine persönliche Entscheidung war auf Qt creator und MinGW compiler zu wechseln. Unter anderem hat man dann auch automatisch die Entwicklungsumgebung und Compiler auf anderen OS zur Verfügung.
Zum deutschsprachigen Forum gibt es nur eine begrenzte Anzahl begrenzte Anzahl von deutschsprachigen Usern und damit geringere Rückmeldungen. Da ausserdem die Anzahl der MSVS-Nutzer traditionell im OpenSource-Bereich niedriger sind, kann es hier sehr dünn werden. Deshalb kann ich nur raten es in Englisch mal zu versuchen.
Um eine Lösung für dich zu haben, könntest du einfach einmal versuchen den Qt creator noch dazu zu installieren. Er müsste deine VS und auch die Qt libs für VS 2015 finden und einbinden. D.h. du verlierst die VS-Entwicklungsumgebung, aber verwendest noch den VS-Compiler. So könntest du die vsaddin-Probleme, falls dies welche sind, umgehen.
Falls der Compiler und Qt libs nicht gleich automatisch eingebunden werden, kann dies noch nachträglich gemacht werden.Es ist deine Entscheidung, wie du weitermachen möchtest.