Autor Thema: Miranda kompilieren: Microsoft Incremental Linker in VS 2008 stürzt ab - gelöst  (Gelesen 3600 mal)

CHEF-KOCH

  • Akkordschreiber
  • ***
  • Beiträge: 650
  • ~inSiDeR~
    • CHEF-KOCH@draugr.de"
    • Profil anzeigen
    • PhoenixBBS
Moin, ich musste leider von Visual Studio 2010 Beta 2 auf VS 2008 Prof. umsteigen da ich sonst Miranda nicht compilieren konnte. Nun geht fast alles außer das mir der "Microsoft Incremental linker" mitten im compilieren abstürzt. Wieso weis ich nicht, der Debug davon ist nichts aussagend.

VS scheint aber nicht mit folgenden Sachen klar zu kommen, Jabber, IRC & zlib. Sonst läuft alles relativ problemlos ab (bis auf einige Warnmeldung die man aber vernachlässigen kann). Nun meine Frage, hat jemand die gleichen Probleme oder kann mir ein paar Tipps geben?

PS: Google hat folgendes ausgespuckt:
http://twigstechtips.blogspot.com/2009/08/visual-studio-2008-microsoft.html

Aber wo stelle ich das genau auf nein?

THX  8)


edit: Habs gefunden:

« Letzte Änderung: 15. Dezember 2009, 17:34:17 von CHEF-KOCH »
Do not question my results, i will not fail!
You are nothing! I'm a warrior, the prince of all!

▬▬▬▬▬▬▬▬▬▬▬▬▬ ஜ۩۞۩ஜ ▬▬▬▬▬▬▬▬▬▬▬▬▬

SHUT UP AND ENJOY THE MUSIC!
44 43 6F 72 65 20 2F 20 4A 4D 59 43   

Nightwish

  • Gast
Und dann kommen wieder "bug reports" von selbstkompilierten Versionen, die natürlich niemand jemals nachvollziehen kann :)

Die korrekte Lösung wäre: Sp1 installieren (ohne das sollte man um VS2008 ohnehin einen großen Bogen machen) anstatt an den Projekteinstellungen rumpfuschen.

CHEF-KOCH

  • Akkordschreiber
  • ***
  • Beiträge: 650
  • ~inSiDeR~
    • CHEF-KOCH@draugr.de"
    • Profil anzeigen
    • PhoenixBBS
Im Miranda Wiki steht sogar das man das abschalten soll! Das Sp1 war übrigens drauf (damit ändert sich sowieso in diesem Bezug unter Windows 7 nichts).
Allerdings verstehe ich noch nicht ganz wieso meine Compilierten Versionen doppelt so groß sind wie die die man downloaden kann, man soll ja noch die Zeile "#include <winres.h>" entfernen aber wieso is mir schleierhaft, ob die internen Dll's von windows genutzt werden oder nicht. Man kann sie ja trotzdem ins Miranda Verzeichnis legen.

http://wiki.miranda-im.org/Compile_VS_2008_express

mfg
Do not question my results, i will not fail!
You are nothing! I'm a warrior, the prince of all!

▬▬▬▬▬▬▬▬▬▬▬▬▬ ஜ۩۞۩ஜ ▬▬▬▬▬▬▬▬▬▬▬▬▬

SHUT UP AND ENJOY THE MUSIC!
44 43 6F 72 65 20 2F 20 4A 4D 59 43   

Nightwish

  • Gast
Im Miranda Wiki steht sogar das man das abschalten soll!

Das ist dann wohl veraltet und sollte aktualisiert werden. Manifest abschalten ist im Normalfall keine gute Idee - kann dazu führen, dass eine falsche runtime verwendet wird... So lange man _alles_ mit dem gleichen compiler kompiliert, die richtigen runtimes auf dem System hat und die kompilierten Programme nur auf dem eigenen System verwendet, passiert im Normalfall nichts. Wenn du die Dateien aber weitergibst, kracht es evt (und solche Fehler sind dann nicht unbedingt einfach zu finden).

Deaktiviert man das Einbetten, dann erstellt der linker eine externe Manifest-Datei mit der Endung .manifest. Kopiert man diese anschließend in das Programmverzeichnis von Miranda, dann hat das den gleichen Effekt wie ein eingebettetes manifest (die Datei muss sich im gleichen Verzeichnis wie die zugehörige .exe oder .dll befinden).

Zitat
Das Sp1 war übrigens drauf (damit ändert sich sowieso in diesem Bezug unter Windows 7 nichts).

Doch, natürlich. Der Linkerfehler im Zusammenhang mit dem Manifest ist ein bekanntes Problem in VS2008 _ohne_ SP1. Siehe auch http://support.microsoft.com/kb/948127 (dafür gab es sogar relativ schnell einen hotfix von MS).

Wenn dein VS richtig installiert ist, darf dieser Fehler nicht auftreten.

Zitat
Allerdings verstehe ich noch nicht ganz wieso meine Compilierten Versionen doppelt so groß sind wie die die man downloaden kann, man soll ja noch die Zeile "#include <winres.h>" entfernen aber wieso is mir schleierhaft, ob die internen Dll's von windows genutzt werden oder nicht. Man kann sie ja trotzdem ins Miranda Verzeichnis legen.

Debug builds? Die sind immer größer als release builds, das ist normal.

winres.h kannst du entfernen, allerdings ist das nicht notwendig, wenn man eine "Vollversion" von Visual Studio hat (also keine express). Du sagtest ja, du hast VS2008 pro, damit muss Miranda ohne jede Änderung kompilierbar sein, weil diese Version von den meisten Entwicklern verwendet wird und die Projektdateien damit erstellt wurden.