[gelöst] VS2005-Qt-Projekt für Windows CE aufsetzen

Verschiedenes zu Qt
Antworten
johlke
Beiträge: 15
Registriert: 21. Januar 2008 11:59

[gelöst] VS2005-Qt-Projekt für Windows CE aufsetzen

Beitrag von johlke »

Hallo!
Leider schaffe ich es noch nicht, ein VS2005-Qt-Projekt für Windows CE aufzusetzen. Bisher habe ich die win-ce-embedded-Variante von Qt (4.4.0-rc1) heruntergeladen und erfolgreich kompiliert.
Die in dem "demos"-Ordner enthaltenen Projekte kann ich wunderbar mit VS2005 öffnen und im Windows CE-Simulator ausführen/debuggen. Leider scheitere ich daran, ein eigenes, frisches Projekt für Windows CE aufzusetzen. Bisher bin ich wie folgt vorgegangen:
1. Neuen Projektordner anlegen
2. qmake -project
3. qmake -tp vc

Allerdings wurde bisher nur einmal eine vcproj-Datei (für Win32 und nicht für PocketPC) erzeugt, ansonsten nur eine .sln-Datei.

Wie ist die beste Vorgehensweise um ein Windows CE-Projekt zu erstellen? Den VS2005-Assistenten nehmen, eine Anwendung für Pocket PCs erstellen und nachträgich Qt-Features hinzufügen. Oder kann qmake das für mich übernehmen.

Und wisst ihr, ob ich die Anwendung auch so konfigurieren kann, dass ich sie einmal für Win32 und ein anderes Mal für die PocketPC-Plattform (Windows CE) kompiliere? Benötige ich dazu zwei unterschiedlich konfigurierte Varianten von Qt (eine für Win32 und die andere für PocketPC)?

Weiterhin sehe ich, dass es einen Unterschied zwischen den Plattformen "Windows Mobile 5.0 Pocket PC (ARMV4I)" und "Pocket PC 2003 (ARMV4)" zu geben. Die Qt-Demos sind für die erste Plattform vorkonfiguriert. Wenn ich allerdings die Qt-Demos für die zweite Plattform (ARMV4 ohne I) kompiliere, erhalte ich für jedes Projekt die Fehlermeldungen:

Code: Alles auswählen

qtmaind.lib(qtmain_win.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__security_cookie" in Funktion "WinMain".
qtmaind.lib(qtmain_win.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__security_check_cookie" in Funktion "WinMain".
MSVCRTD.lib(gshandler.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__security_check_cookie".
Vielen Dank für eure Hinweise!
Lars
Zuletzt geändert von johlke am 19. September 2008 17:57, insgesamt 1-mal geändert.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Der security_check_cookie - Linkerfehler kommt von verschiedenen Compilerflags. In diesem Falle ist es das (nicht)Vorhandensein von /GS (Puffer-Sciherheitsüberprüfung) denke ich.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
johlke
Beiträge: 15
Registriert: 21. Januar 2008 11:59

Beitrag von johlke »

Das Ändern der Einstellung für die Puffer-Sicherheitsprüfung (Projekt -> Eigenschaften -> Konfigurationseigenschaften -> C/C++ ->Codegenerierung) bewirkt leider nichts an dem Kompilierfehler. Laut
http://forums.microsoft.com/MSDN/ShowPo ... 7&SiteID=1
und weiteren Seiten muss diese Option deaktiviert sein, damit dieser Linkerfehler verschwindet. Allerdings ist diese Option bei den Qt-Demos bereits deaktiviert, aber auch ein Aktivieren schafft keine Abhilfe.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Das muss natürlich bei allen Libs abgeschaltet werden - also auch bei den Qt-Libs.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
johlke
Beiträge: 15
Registriert: 21. Januar 2008 11:59

Beitrag von johlke »

Okay, die Qt-Libs habe ich aber ganz gewöhnlich mit dem configure-Skript und nmake erstellt. Muss ich die Qt-Bibliotheken also komplett neu erstellen mit der Option "/GS-" ?
johlke
Beiträge: 15
Registriert: 21. Januar 2008 11:59

Beitrag von johlke »

Ich habe jetzt ein Qt-Projekt für die ARMV4I-Plattform aufsetzen können, in dem ich einfach die Konfiguration von einer bestehenden Qt-Demo in ein leeres Projekt übernommen haben. Glücklicherweise speichert MS die Konfigurationen in einem lesbaren Format.
Allerdings habe ich immer noch den Kompilierfehler wenn ich für die ARMV4-Plattform (ohne I) erstelle. Weiß jemand Rat?
johlke
Beiträge: 15
Registriert: 21. Januar 2008 11:59

Beitrag von johlke »

Es muss zusätzlich die Bibliothek "secchk.lib" gelinkt werden.
Antworten