Frage

habe ich VS 2008, und ich möchte, dass meine Anwendung auf die Arbeit mit Windows 98 ohne msvcr90.dll zu schließen, um .. Win98 kommt mit MSVCR60 so wie könnte ich MSVC sagen, dies zu tun? Ist meine einzige Option, um Jagd auf Visual Studio 6?

Danke

* auch ich will statische Linken msvcr

vermeiden
War es hilfreich?

Lösung

Sie können nicht Visual Studio erzählen eine frühere Version der Laufzeitbibliothek zu verwenden. Auch wenn Sie es mit der alten Bibliothek zu kompilieren bekommen können, die Anwendung selbst ist nicht richtig gehen laufen, weil die Compiler Aufrufe von Funktionen zum Einfügen wird es in der Bibliothek sein erwartet, was nicht der Fall sein könnte.

auch ich will statische Linken msvcr
vermeiden Warum? Das scheint wie eine perfekt gültige Lösung für dieses Problem. Sicher, zahlen Sie über 100kb in Codegröße für sie, aber das ist es wert über Visual Studio 6 Buggy und nicht-konforme Compiler verwenden zu müssen.

Sie könnte auch nur die MSVC ++ verteilbare, welche die richtigen DLLs enthalten würde und erfordern keine statische Verknüpfung der Standardbibliothek.

Andere Tipps

Wenn Sie Windows 98 ausrichten möchten, Ihre Optionen sind:

  • Zuerst wird eine maximale Version von Visual Studio 2005. 2008 und bis ver von 5,0 in den EXE-Datei-Header ein Minimum OS Stempel -. Windows 98 wird einfach nicht Binärdateien von VS 2008 produziert laden

In Bezug auf die CRT-Verteilung:

  • die neue Laufzeit mit Ihrer Anwendung verteilen. Ich ziehe diesen Ansatz, wenn Ihre Anwendung viele DLLs als statische Linken macht hat das ganze viel größer, als es sein muss. Außerdem gibt es viele Einschränkungen zu C ++ von DLL, die gelockert werden, wenn Sie mindestens eine Aktie c-runtime Umsetzung zwischen allen Modulen in einem Prozess.

Wenn Sie noch keinen „schweren“ Nutzer von c ++ Funktionen wie Ausnahmen und die STL, können Sie in der Lage zu entkommen mit haupt nicht in irgendeiner crt verbindet. Ansonsten Ihre Optionen sind:

  1. Verwenden Sie einen nicht MS-Compiler wie MinGW. MinGW verwendet die neueste GCC, so dass Sie C99 und C ++ erhalten 98, C ++ 03, TR1 etc. Und es nutzt msvcrt.dll. Code :: Blocs ist ein „ok“ IDE, wenn Sie nie verwendet Visuelle Sutdio und / oder haben ein paar zu viele Schläge auf den Kopf getroffen.
  2. das Windows DDK zum Download. Sie werden von der Kommandozeile zu bauen müssen, und verschmutzen mit Make-Dateien, aber es ist kostenlos, und die DDK verwendet den VS2005 Compiler & Linker, aber speziell Setup Link gegen msvcrt.dll, NICHT msvcr80.dll. Es war zu riskant erachtet erfordern Gerätetreiber Link gegen eine Laufzeit, die nicht da sein könnte.
  3. Visual Studio 6 als letzte Rückfalloption. Horrible Unterstützung für C ++ 98. Mindestens Sie ein ziemlich IDE bekommen und es sollte verdammt schnell seine jetzt, dass Computer theoretisch in der Geschwindigkeit / Kapazität 8 mal verdoppelt, seit es gestartet wurde.

Die Low Overhead Microsoft Visual Studio C Runtime eine statisch verknüpfbar C Runtime ist die maximale macht Nutzung des verfügbaren DLL ist bereits verteilt Windows.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top