VS2008: msvcr90.dll trotz debug-mode linken?



  • Hi,
    ich habe hier in der Firma ein größeres Projekt, das mit Qt4 und qmake entwickelt wird. Bislang haben wir VS2003 eingesetzt, aber ich wollte nun probehalber mal den Umstieg auf VS2008 wagen.

    Also hab ich VS2008 installiert und damit dann Qt4 kompiliert (einfach configure.exe && nmake), ging auch alles erstaunlich reibungslos. Sogar unsere Software ließ sich danach anstandslos kompilieren.

    Die Release-Version startet auch, aber wenn ich nun unsere Software im Debugger laufen lassen will, springt mir eine Fehlermeldung entgegen die behauptet dass die msvcr90.dll nicht gefunden wurde 😞

    Nach ein bissel googeln und der Erkenntnis, dass im debugger eigentlich die msvcr90d.dll angezogen werden müsste, keimte in mir die Vermutung dass der Linker release und debug versionen irgendwie vermengt.

    Ich habe mir beim linken dann mal ein paar Infos ausgeben lassen und festgestellt, dass die Projekt-eigenen libs alle in der debug-version gelinkt werden (hatte ich auch nicht anders erwartet). Aber wir linken auch zwei externe libs, von denen wir leider keine debug-versionen haben.

    Das VS2003 schien sich daran nicht großartig zu stören... aber das VS2008 scheint sich da jetzt quer zu stellen. Kann ich irgendwo einstellen, dass er bei Bedarf auch die release-version der c-runtime anziehen soll?

    Oder gibts sonst irgend nen Ratschlag oder Tip? Irgendwie muss das doch gehen, eine fremde lib zu linken ist ja nichts exotisches...

    freue mich auf Antworten,
    eXi



  • ups... eigentlich sollte der Beitrag ins "Compiler- und IDE-Forum"... sorry :p



  • Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum Compiler- und IDE-Forum verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Ich kanns nicht ganz nachvollziehen.
    Ich arbeite mit VC++ 2008 und linke in meinem aktuellen Projekt auch nicht debugfähige Libs ( 2 Stück ) mit mehreren Debug-Libs und meine eigene Lib und App wird als Debug-Version erstellt.
    Dependency Walker meckert zwar dass er die MSVCP90.dll nicht finden kann, aber das Programm läuft und lässt sich auch debuggen im VC++ 2008 Express.
    Und es liegt nicht an der Linkage denke ich sondern am Manifest. Eventuell das Manifest nicht einbetten lassen und dort die MSVCd eintragen?
    So als spontaner Gedanke, gemacht hab ich das noch nicht.
    rya.


Anmelden zum Antworten