[solved] exe-Datei will nicht auf XP laufen

Verschiedenes zu Qt
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

cimbomgs hat geschrieben:Dependency Walker sagt das alle DLL's ok sind aber bekomme die Fehlermeldung was ich weiter oben geschrieben habe.
Die Fehlermeldung sieht nach einem falschen oder fehlenden Manifest aus. Bedank dich bei Microsoft das die so nichtssagend ist. Wie sieht denn dein Manifest aus? Hast Du es eingebunden oder als separate Datei dabei?
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
cimbomgs
Beiträge: 70
Registriert: 21. August 2008 21:14

Beitrag von cimbomgs »

macman hat geschrieben:
cimbomgs hat geschrieben:Dependency Walker sagt das alle DLL's ok sind aber bekomme die Fehlermeldung was ich weiter oben geschrieben habe.
Die Fehlermeldung sieht nach einem falschen oder fehlenden Manifest aus. Bedank dich bei Microsoft das die so nichtssagend ist. Wie sieht denn dein Manifest aus? Hast Du es eingebunden oder als separate Datei dabei?
Habe 2 Manifest Dateien separat im selben Verzeichnis.

1. die vom VS2005 erstellte Manifet-Datei
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC80.DebugCRT' version='8.0.50727.762' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
</assembly>
2. Microsoft.VC80.CRT.manifest
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright © 1981-2001 Microsoft Corporation-->
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<noInheritable/>
<assemblyIdentity
type="win32"
name="Microsoft.VC80.CRT"
version="8.0.50608.0"
processorArchitecture="x86"
publicKeyToken="1fc8b3b9a1e18e3b" />
<file name="msvcr80.dll"/>
<file name="msvcp80.dll"/>
<file name="msvcm80.dll"/>
</assembly>
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

cimbomgs hat geschrieben:1. die vom VS2005 erstellte Manifet-Datei
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC80.DebugCRT' version='8.0.50727.762' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
</assembly>
Wie Du siehst benötigt deine Anwendung die CRT-DLLs mit der Version 8.0.50727.762. Die beigelegten DLLs haben aber die Version:
version="8.0.50608.0"
Das passt also nicht.

In %VisualStudioDir%\VC\redist\x86\Microsoft.VC80.CRT müssten die passenden Dateien liegen, ansonsten in C:\WINDOWS\WinSxS danach suchen.

[Edit]Auf die Debugversion bin ich jetzt gar nicht weiter eingegangen, man sollte schon das Release nutzen.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
cimbomgs
Beiträge: 70
Registriert: 21. August 2008 21:14

Beitrag von cimbomgs »

Manifest-Datei mit der gleichen Versionsnummer bringt auch gar nichts. Es hat sich obsolut nichts geändert
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<noInheritable></noInheritable>
<assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50727.762" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
<file name="msvcr80.dll" hash="10f4cb2831f1e9288a73387a8734a8b604e5beaa" hashalg="SHA1"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><ds ... :Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" ... ash></file>
<file name="msvcp80.dll" hash="b2082dfd3009365c5b287448dcb3b4e2158a6d26" hashalg="SHA1"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><ds ... :Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" ... ash></file>
<file name="msvcm80.dll" hash="542490d0fcf8615c46d0ca487033ccaeb3941f0b" hashalg="SHA1"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><ds ... :Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" ... ash></file>
</assembly>
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag von RHBaum »

dbug und release stellst beim VS über die menus da ein. Hasst nen menu wo 2 combofelder mit Debug und win32 drinstehen ?
normal legt dir das VS nen profil fuer debug und auch fuers release an ...

Welche VSstudio version hasst du genau zum uebersetzen ?

wenn vs2005 SP1 hasst, brauchst definitv das redistributable pack ....
vielleicht hasst da das falsche erwischt ?

Hasst die qt selber uebersetzt ? oder benutzt du binaere pakete ?


Ciao ...
cimbomgs
Beiträge: 70
Registriert: 21. August 2008 21:14

Beitrag von cimbomgs »

ich benutze vs2005 SP1.
Hasst die qt selber uebersetzt ? oder benutzt du binaere pakete ?
verstehe nicht genau was damit gemeint ist.

als redistributable pack benutze ich:http://www.microsoft.com/downloads/deta ... laylang=en
dbug und release stellst beim VS über die menus da ein. Hasst nen menu wo 2 combofelder mit Debug und win32 drinstehen ?
naja ich weiß nicht was genau gemeint ist aber VS2005 erstellt mir diese Verzeichnisse von ich compiliere (auf RUN klicke)[/url]
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

cimbomgs hat geschrieben:Manifest-Datei mit der gleichen Versionsnummer bringt auch gar nichts.
Die richtigen DLLs müssen es natürlich auch sein. Wenn Du die Debugversionen der Qt-DLLs dabei hast, dann brauchst Du natürlich auch die Debugversionen der CRT-DLLs. Der Dependency Walker zeigt dir genau auf, welche DLLs auf deinem Rechner angezogen werden. Genau die gibst Du mit.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
cimbomgs
Beiträge: 70
Registriert: 21. August 2008 21:14

Beitrag von cimbomgs »

wie genau kann mir Dependency Walker helfen?
Wenn ich Dependency Walker auf dem Rechner starte wo QT mit VS2005 installiert ist wird mir folgender Warnung angezeigt?

Wie könnte ich das beheben?

Bild

auch wenn die Warnung erscheint (nur im Dependency Walker) kann ich die Exe-Datei ohne Probleme starten (auf dem Rechner mit QT).
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Wusste ich es doch - im Debug Mode gebaut.
Ich würde sagen - mache Dich erstmal mit deiner Entwicklungsumgebung vertraut bevor Du anfängst zu programmieren...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
cimbomgs
Beiträge: 70
Registriert: 21. August 2008 21:14

Beitrag von cimbomgs »

Christian81 hat geschrieben:Wusste ich es doch - im Debug Mode gebaut.
Ich würde sagen - mache Dich erstmal mit deiner Entwicklungsumgebung vertraut bevor Du anfängst zu programmieren...
ich weiß nicht wie Du es erkannt hast, aber ich habe wirklich keine Ahnung in welchem Modus ich was habe.

Ich würde ja gerne mich mit der Entwicklungsumgebung vertraut machen, aber dafür MUSS ich wissen WAS ich brauche.

Ich habe keine Ahnung was Release oder Debug Mode sein soll.

Bitte Christian81 kannst Du mir nicht sagen was falsch ist (oder sein kann) und wo ich den Fehler beheben kann?

oder sag mir bitte was wissen sollte. OK ich weiß mit der Entwicklungsumgebung soll ich mich vertraut machen, aber was genau? welche Einstellungen sollte ich wissen?

Vielen Dank :)
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

RHBaum hat das beides schon erklärt...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
cimbomgs
Beiträge: 70
Registriert: 21. August 2008 21:14

Beitrag von cimbomgs »

ok wo man welches Modus einstellt habe ich rausgefunden.

Rechte Maustaste auf Projekt->Eingenschaften..
im Eingenschaften kann man Debug/Release Modus auswählen und weitere Einstellungen durchführen.

Ich hoffe nur dass das die Lösung meines Problems ist :)
steffen
Beiträge: 3
Registriert: 28. März 2007 13:56

Beitrag von steffen »

Einfach die msvc-libs auch statisch linken, schon hast Du eine exe die auf jedem (von QT unterstütz) Windows läuft.

Einstelluing über die mkspec.

mfg steffen
steffen
Beiträge: 3
Registriert: 28. März 2007 13:56

Beitrag von steffen »

Kurzer Nachtrag:

Das wiegt (in MB) auch deutlich weniger als das Einzel-Geraffel und ist sehr handlich.

Ausgenommen Du brauchst Plugin's, da wird die Sache komplexer.

mfg steffen
cimbomgs
Beiträge: 70
Registriert: 21. August 2008 21:14

Beitrag von cimbomgs »

steffen hat geschrieben:Einfach die msvc-libs auch statisch linken, schon hast Du eine exe die auf jedem (von QT unterstütz) Windows läuft.

Einstelluing über die mkspec.

mfg steffen
wo genau befindet sich die mkspec bzw. was genau muss ich machen um msvc-libs statisch zu linken?

danke
Antworten