Wo kann ich das ändern?



  • Ich habe ein langes C++ Programm geschrieben und nun kommt ein Fehler:
    "fatal error C1076: Compiler-Beschraenkung: Interne Heap-Grenze erreicht; Verwenden Sie /Zm um eine hoehere Grenze anzugeben". Am Anfang wurde das ja noch ignoriert und beim Kompilieren wurde daraus eine Warnung, aber jetzt bleibt das ein Fehler und ich kann nichts mehr machen. Ich würde das Programm auch noch gerne weiter machen aber es geht ja nicht?! Wenn ich den Fehler anklicke komme ich zur ostream Klasse aber wo ich da das /Zm einfügen muss und was da noch stehen muss, da habe ich ka!
    Schonmal Danke!



  • In den Projekteinstellungen, unter C/C++, einfach bei den Optionen (mehrzeiliges Textfeld) ein /Zm200 dranhängen.

    In einigen Fällen (z.B. bei boost::spirit) bleibt dir nichts anderes übrig. Falls du aber solche Bibliotheken nicht verwendest, solltest du eher die Ursache des Problems beheben.:

    Quelle: MSDN
    Eliminate unnecessary include files.
    Eliminate unnecessary global variables, for example, by allocating memory dynamically instead of declaring a large array.
    Eliminate unused declarations.
    Split large functions into smaller functions.
    Split large classes into smaller classes.
    Split the current file into smaller files.

    Übrigens:
    "Wo kann ich das ändern" ist ein schlechter Titel. Im falschen Forum bist du auch 😉



  • 100000 Dank!!!!



  • In welches Forum müsste das Thema den sonst rein???



  • In "MFC mit dem Visual C++".

    Dieser (oder ein ähnlicher) Fehler mag bei anderen Compilern auch auftreten, aber die Lösung (/Zm) ist compilerspezifisch.

    Das ist zugegebenermaßen in diesem Fall nicht so leicht zu erkennen. Die Worte "Compiler" und "intern" in der Fehlermeldung hätten ein Anhaltspunkt sein können.


Anmelden zum Antworten