Seite 1 von 1

Warum richtet VSqtaddin WinMain ein ?

Verfasst: 14. Juli 2007 14:03
von pospiech
Bei mir hat das Plugin Vsqtaddin in der main.cpp folgendes zusätzliche zur "int main(...)" eingerichtet
[cpp]
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR szCmdLine,int nShowCmd)
...
[/cpp]
benötige ich das, und wenn ja wofür ?

Matthias

Verfasst: 14. Juli 2007 17:18
von Volker
Wenn Du unter Visual Studio eine Anwendung mit den Linkereinstellungen
"Subsystem Windows" übersetzt, dann sucht Windows nicht nach der int main sondern nach der WinMain Methode. Daher brauchst Du das.

Es gibt wohl auch die Möglichkeit einfach gegen qtmain(d).lib zu linken. Hatte ich bisher noch nicht ausprobiert. Kannst Du aber in den Templates des PlugIns ändern.

Da es sich bei dem VsQtAddIn aber nicht um etwas offizielles handelt, ist es wohl reiner Zufall, dass ich dir hier im Forum weiterhelfen kann :-)

Verfasst: 14. Juli 2007 17:20
von Christian81
Volker hat geschrieben: Daher brauchst Du das.
Aber nicht für Qt! Dort ist es sogar falsch WinMain zu benutzen...

Verfasst: 14. Juli 2007 17:21
von Volker
Was heißt falsch? Falsch im Sinne von ist nicht für Linux/Mac gedacht, Ok, aber falsch im Sinne von funktioniert nicht, stimmt nicht.

Verfasst: 14. Juli 2007 17:32
von Christian81
Volker hat geschrieben:Was heisst falsch. Falsch im Sinne von lässt sich nicht unter Linux übersetzen, ok, aber falsch im Sinne von funktioniert nicht, stimmt nicht.
Falsch im Sinne von 'Wenn Du in einem Qt-Proggie WinMain selbst implementierst wird Qt nicht richtig initialisiert'

Verfasst: 14. Juli 2007 17:39
von Volker
Bei mir gab's diesbezüglich noch nie Probleme.
Was genau macht Qt denn anders?

Verfasst: 14. Juli 2007 18:53
von Christian81
Schau Dir src/winmain/qtmain_win.cpp an dann siehst Du es.

Verfasst: 15. Juli 2007 12:00
von Volker
Man lernt nie aus. Hab's geändert!