Kompilier Fehler auf anderem Rechner



  • Hab ein Projekt, das auf meinem Rechner problemlos kompiliert (kdevelop)

    wenn ich jetzt alles packe und auf einen anderen rechner schiebe und dort make ausführe erhalte ich folgende Fehlermeldung:

    cinter.cpp: In member function `void CInter::gruppeAuswerten(char*, char*)':
    cinter.cpp:1158: warning: suggest parentheses around assignment used as truth
       value
    make: *** [cinter.o] Error 1
    

    was hat das zu bedeuten?? bin ziemlich neu in der linuxprogrammierung und kann das jetzt nicht deuten. Andere (kleinere) Projekte kompileren ohne Probleme auch auf dem anderen Rechner. Kann mir jemand helfen?



  • zeig doch mal die bemäkelte Zeile. Sind auf den beiden betroffenen Rechnern zufällig verschiedene versionen von gcc? (gcc -v)



  • ja sicher,

    int t=0;
     int n=1;
     while(r=mysql_fetch_row(erg))
     {
       sscanf(r[0], "%d", &t);
       ...
     }
    

    aber ich hab auch schon ohne die Zeile kompiliert, gleiches Ergebnis, hab eher das Gefühl das der Fehler nach dem eigentlcihen kompilieren statt findet, denn wenn ich in der letzten Zeile der Datei eine Warning einbaue, wird diese noch angezeigt und dann folgt der Fehler



  • achso, bei mir daheim hab ich

    gcc version 3.2.1 20020924 (Debian prerelease)

    am anderen rechner ist es

    gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5)

    kann es daran liegen, sollte ich mir für meinen rechner auch das neuere gcc besorgen?



  • Okay, es ist die warnung, ich nehme an für die if-Zeile. Er sagt dir nur, dass man um Zuweisungen, die gleichzeitig als Wahrheitswert genutzt werden sollen klammern sollten. Ich nehme an du kompilierts mit der Option dass Warnungen Fehler sind? Versuch doch mal ob Klammern um die Zuweisung ihn zufriedenstellen.

    Was Warnungen angeht im Code, die schmeisst der Präprozessor aus, noch vorm eigentlichen kompilieren, das sgat also nichts.



  • Diw Warning ist weg, war auch klar wo die her kam, aber ich hab in anderen Dateien Warnings und trotzdem macht er die objects Dateien, nur bei dieser einen nicht, wobei er es auf meinem System zuhause auch macht, nur auf dem anderen (red hat) mit dem neueren compiler. Kann wie gesagt mit dem Abbruch make:*** [cinter.o] Error 1 nicht viel anfangen. Hab auch schon versucht aus der gcc Hilfe schlau zu werden, doch die bringt auch nix zufriedenstellendes.

    Es hat meiner Meinung nach nichts mit den Warnings zu tun



  • jo, Warnungen sind keine Errors 🙂

    Zeig mal die komplette Ausgabe von make



  • kingruedi schrieb:

    jo, Warnungen sind keine Errors 🙂

    Mit -werror schon :p


Anmelden zum Antworten