QT: MSVC10 Beispielprojekte funktionieren nicht



  • Hi,

    ich habe QT für MSVC10 selbst kompiliert und eigene Projekte funktionieren jetzt auch. Aber ich wollte mir die Beispiele Mal anschauen, da sind ja sogar MSVC-Projektmappen dabei. Aber wenn ich ein Projekt starten möchte, kompiliert und linkt er zwar fehlerfrei, sagt beim Starten der exe aber "Datei kann nicht ausgeführt werden." 😞

    Außerdem erhalte ich beim Starten diese MSVC-Ausgaben:
    `

    "pixelator.exe": "C:\Windows\SysWOW64\ntdll.dll" geladen, Cannot find or open the PDB file

    "pixelator.exe": "C:\Windows\SysWOW64\kernel32.dll" geladen, Cannot find or open the PDB file

    "pixelator.exe": "C:\Windows\SysWOW64\KernelBase.dll" geladen, Cannot find or open the PDB file

    "pixelator.exe": "D:\Entwicklungsbibliotheken\QT\Desktop\Qt\4.7.3\msvc2008\bin\QtGuid4.dll" geladen, Cannot find or open the PDB file`
    Er hat aber von der exe eine pdb-Datei erstellt, die im gleichen Ordner liegt. Wenn ich die exe im Windows-Explorer starte, habe ich dasselbe Problem. (muss ich nachher eigentlich diese pdb-Dateien immer mitliefern oder wie?)

    Wenn ich den Code eines Projektes einfach in mein eigenes Projekt schiebe, funktioniert es übrigens. Wenn ich in dieser Projektmappe ein eigenes QT-Projekt erstelle, läuft dieses wieder. Es scheint also irgendwie an den Projekteinstellungen zu liegen.

    Hat jemand Erfahrung mit diesem Problem und eine Lösung?

    Edit:
    Okay, wenn ich das Projekt mit Rechtsklick "in ein QT AddIn Projekt" umwandle, funktioniert es. 🙂

    Edit:
    Aber jetzt erhalte ich keine exe. Und wenn ich über qmake eine exe erhalte, kann ich diese nicht starten aus o.g. Gründen. 😞

    Edit:
    Aber wenn ich die im Release kompiliere, geht's! Seltsam. Aber das reicht mir natürlich. Falls mir das jemand erklären kann, bin ich ganz Ohr!



  • Die Meldungen, die du dort gepostet hast, beziehen sich nicht auf deine EXE, sondern auf die Debug-Informationen der geladenen DLLs. Die dürften eigentlich nichts mit deinen Problemen zu tun haben.



  • Dann versteh ich das noch weniger.



  • Du solltest Dir das Beispiel in ein seperates Verzeichnis kopieren und dort kompilieren. Die Qt Beispiel haben, im eigenen Verzeichnis, interne Abhängigkeiten.



  • Wenn ich aber was eigenes im Debug kompiliere, habe ich dasselbe Problem.



  • 1. Dürften das nur Warnungen sein.
    2. Kenne ich das nur, wenn ich die Lib's selber erstellt habe und dann auf einen anderen PC kopiert habe und dort kompiliere.

    Davon abgesehen baue ich die statischen Lib's nur im release Modus. Zum debuggen nehme ich die DLL Version.



  • "pixelator.exe": "C:\Windows\SysWOW64\ntdll.dll" geladen, Cannot find or open the PDB file
    "pixelator.exe": "C:\Windows\SysWOW64\kernel32.dll" geladen, Cannot find or open the PDB file
    "pixelator.exe": "C:\Windows\SysWOW64\KernelBase.dll" geladen, Cannot find or open the PDB file
    "pixelator.exe": "D:\Entwicklungsbibliotheken\QT\Desktop\Qt\4.7.3\msvc2008\bin\QtGuid4.dll" geladen, Cannot find or open the PDB file

    Hier werden aber die Lib's aus dem SDK geladen, hat nichts mit Deinen Lib's zu tun!



  • Ich denke Dir fehlen die entsprechenden CLibraries zusammen mit den Manifestdateien....
    Wenn Du mit VC10 Debug baust, dann benötigst Du in dem Verzeichnis der Executable auch die Dateien aus dem Verzeichnis

    VC10Install\Microsoft Visual Studio 10.0\VC\redist\Debug_NonRedist\x86\Microsoft.VC90.DebugCRT

    Am besten alles was darin liegt in Dein Executableverzeichnis kopieren. Dann sollte es funktionieren.

    Wenn Du genau wissen möchtest, welche der Dlls Du wirklich benötigst, kannst Du den Dependency-Viewer von Microsoft verwenden (google: depends.exe)

    Grüsse



  • Klingt gut, danke 🙂


Anmelden zum Antworten