Die Anwendung konnte nicht korrekt gestartet werden(0xc000007b)

Hey Leute,
ich wusst nicht genau, wo hin ich den Thread machen soll, falls er hier nicht passt könnt ihr ihn ja grad verschieben;-)

Zu meinem Problem:
Ich habe ein Programm geschrieben in C++, dazu die Qt-Bibliothek eingebunden und Poppler.
So er hat mein Programm kompiliert und gelinkt, er startet es jedoch nicht.
Es kam ein Fehler, der Prozedureinsprungspunkt xmlCtxtGetLastError wurde in der DLL libxml2 nicht gefunden, daraufhin, hab ich die libxml2.dll aus dem KDE Ordner in das Programmverzeichnis kopiert, dass er diese dll benutzt und nicht die aus dem Windows Ordner.
Danach brachte er beim starten immer den Fehler:
Die Anwendung konnte nicht korrekt gestartet werden(0xc000007b), klicken sie auf OK um die Anwendung zu beenden.
Ich habe Windows 7 64 Bit.

Hoffe ihr könnt mir helfen.
Schonmal vielen Dank

Gruß freeG
 
Du musst dein Programm mit der Version der Library benutzen, gegen die du es gelinkt hast und nicht einfach irgendeine.
 
Du hast scheinbar gegen die libxml2 gelinkt und zwar anhand der libxml2.lib. Dein Programm wird jetzt nur vernünftig laufen, wenn du die zu dieser libxml2.lib passende libxml2.dll verwendest.

In der *.lib stehen Informationen für den Linker z.B. über die exportierten Funktionen. "Position" in der *.dll, Funktionsnamen, Rückgabetypen, Parameter, etc.
Wenn nun in der *.lib etwas anderes steht, als in der *.dll, dann wird das zu sehr merkwürdigem Verhalten führen - Abstürze sind da noch harmlos ;)

btw: Crossposting ist nicht gern gesehen: http://www.c-plusplus.de/forum/view...0-and-postorder-is-asc-and-highlight-is-.html
 
Zuletzt bearbeitet von einem Moderator:
Ok, wegen dem Cross-Posting, sorry kann ich verstehen, aber ich habe dort ja leider keine Antwort mehr bekommen...=(
Ja ich habe aber gar nicht gegen die libxml2.lib gelinkt, nur gegen die poppler-qt4.h lib.

Mhh hat jemand eine Idee was ich machen könnte?

Danke gruß freeG
 
Ich kenne Poppler nicht und habe auch noch nicht mit QT gearbeitet, aber offensichtlich verwendet dein Programm die libxml2. Wenn du das also nicht selber machst, müssen das die von dir verwendeten third party libs sein. Wenn du die selber kompilierst, dann linkst du doch gegen die libxml2.lib und wenn sie schon kompiliert sind, müsste sich irgendwo die Versionsnummer oder dergleichen finden lassen.

Ein bisschen Eigeninitiative ;)
 
Zurück
Oben