Compiler macht große Probleme



  • Einfach in jede Headerdatei die Includ-Guards.

    Also das, was du bereits erwähnt hast.


  • Mod

    Wurde auch schon gesagt: Einfach nur eine Zeile rein mit

    #pragma once
    

    und gut ists...



  • Gcc unterstützt das #pragma once doch bestimmt auch, oder?

    PS: Wer sich fragt, was diese Frage hier zu suchen hat, tut das zurecht! Ich dachte, ich wäre im C++-Forum -.- Kaffee her!



  • Funktioniert nicht:

    Compiling...
    test.c
    f:\test\includes.h(2) : warning C4182: #include nesting level is 363 deep; possible infinite recursion
    f:\test\includes.h(2) : fatal error C1076: compiler limit : internal heap limit reached; use /Zm to specify a higher limit
    test_connect.c
    f:\test\includes.h(2) : warning C4182: #include nesting level is 363 deep; possible infinite recursion
    f:\test\includes.h(2) : fatal error C1076: compiler limit : internal heap limit reached; use /Zm to specify a higher limit
    Error executing cl.exe.
    

    Funktioniert genauso wenig wie pragma once....



  • Kann es sein, dass du hier eine Library linkst und die bereits zuvor gelinkt wurde?

    Gruss Kimmi



  • Hatte das selbe Problem.
    Auch wenn das keine sehr elegante Lösung ist: Ein /FORCE:MULTIPLE wirkt Wunder 😃



  • Lupinius schrieb:

    Hatte das selbe Problem.
    Auch wenn das keine sehr elegante Lösung ist: Ein /FORCE:MULTIPLE wirkt Wunder 😃

    Ist das nicht Symptombekämpfung?
    Simon



  • VC6 schrieb:

    Funktioniert nicht:

    Compiling...
    test.c
    f:\test\includes.h(2) : warning C4182: #include nesting level is 363 deep; possible infinite recursion
    f:\test\includes.h(2) : fatal error C1076: compiler limit : internal heap limit reached; use /Zm to specify a higher limit
    test_connect.c
    f:\test\includes.h(2) : warning C4182: #include nesting level is 363 deep; possible infinite recursion
    f:\test\includes.h(2) : fatal error C1076: compiler limit : internal heap limit reached; use /Zm to specify a higher limit
    Error executing cl.exe.
    

    Funktioniert genauso wenig wie pragma once....

    Du musst das #pragma once bloss ganz oben im Header-File hinschreiben 🙄



  • Wieder eine Fehlermeldung wenn ich #pragma once benutze:

    connect.obj : error LNK2001: unresolved external symbol _serverpass
    test.obj : error LNK2001: unresolved external symbol _port
    testobj : error LNK2001: unresolved external symbol _server
    


  • Ok das Projekt lässt sich jetzt ohne Probleme erstellen.
    Doch jetzt gibt es wieder en Problem mim Compiler:

    F:\test.c(10) : warning C4013: 'connection' undefined; assuming extern returning int
    

    Und so sieht die connection() Funktion aus:

    int connection() {
    

    Und ich gebe folgendes zurück:

    return 1;
    

    Also was ist da jetzt wieder der Fehler?


Anmelden zum Antworten