Fufialk Geschrieben 10. Mai 2006 Geschrieben 10. Mai 2006 Hallo, Ich habe einen nicht von mir geschriebenen Code, und möchte weiter daran arbeiten. Das Problem ist, wenn ich ein neues Projekt erstelle und den Code einfüge erhalte ich unzählige Fehler beim kompilieren, obwohl ich den selben Kompiler (Borland C++ 5.02) nutze, wie der Autor des Codes. Wenn ich die Originalprojektdatei öffne, geschieht die nicht. Woran kann das liegen? Aufgefallen ist mir schon, daß teilweise Zeilen vorkommen, die sich nicht an den C/C++ Standart halten, wie zum Beispiel: struct recv_params { char far * bufferPtr; int bufferLength; int flags; /* Blocking or dontwait */ struct sockaddr far * fromPtr; /* only needed for UDP */ int far * fromlengthPtr; /* only needed for UDP */ unsigned long timeout; /* timeout milliseconds */ }; Auch werden Funktionen eingebettet, die nirgendwo initiert wurden, trotzdem meldet der Kompiler keinen Fehler. Zitieren
Guybrush Threepwood Geschrieben 10. Mai 2006 Geschrieben 10. Mai 2006 Dazu wäre es gut zu wissen welche Fehler der Kompiler schmeißt Zitieren
Fufialk Geschrieben 10. Mai 2006 Autor Geschrieben 10. Mai 2006 Hier alle Warnungen, die er mir rauswirft. Wie gesagt es sieht alles nach falscher Syntax bzw. falschen deklarationen aus, bei der Original Projektdatei zuckt er nicht im geringsten, und erzeugt eine lauffähige Anwendung. Info :Building... Info :Compiling C:\Auswertung\C++\CodeRupp\Datsrv\datsrv.cpp Error: TCPIPAPI.H(56,28):Declaration missing ; Error: TCPIPAPI.H(59,28):Multiple declaration for 'recv_params::far' Error: TCPIPAPI.H(56,28):Earlier declaration of 'recv_params::far' Error: TCPIPAPI.H(59,28):Declaration missing ; Error: TCPIPAPI.H(60,28):Multiple declaration for 'recv_params::far' Error: TCPIPAPI.H(59,28):Earlier declaration of 'recv_params::far' Error: TCPIPAPI.H(60,28):Declaration missing ; Error: TCPIPAPI.H(66,28):Declaration missing ; Error: TCPIPAPI.H(69,28):Multiple declaration for 'send_params::far' Error: TCPIPAPI.H(66,28):Earlier declaration of 'send_params::far' Error: TCPIPAPI.H(69,28):Declaration missing ; Error: TCPIPAPI.H(70,28):Multiple declaration for 'send_params::far' Error: TCPIPAPI.H(69,28):Earlier declaration of 'send_params::far' Error: TCPIPAPI.H(70,28):Declaration missing ; Error: TCPIPAPI.H(72,3):Constant member 'send_params::far' in class without constructors Error: TCPIPAPI.H(83,20):Declaration missing ; Error: TCPIPAPI.H(86,2):Constant member 'tag_setsockopt::far' in class without constructors Error: TCPIPAPI.H(92,16):Declaration missing ; Error: TCPIPAPI.H(93,16):Multiple declaration for 'tag_getsockopt::far' Error: TCPIPAPI.H(92,16):Earlier declaration of 'tag_getsockopt::far' Error: TCPIPAPI.H(175,14):Too many error or warning messages Die Zeilen 56 bis 60 sind der von mir bereits gepostete Code: struct recv_params { char far * bufferPtr; int bufferLength; int flags; /* Blocking or dontwait */ struct sockaddr far * fromPtr; /* only needed for UDP */ int far * fromlengthPtr; /* only needed for UDP */ unsigned long timeout; /* timeout milliseconds */ }; Zitieren
Fufialk Geschrieben 10. Mai 2006 Autor Geschrieben 10. Mai 2006 Hier alle Warnungen, die er mir rauswirft. Wie gesagt es sieht alles nach falscher Syntax bzw. falschen deklarationen aus, bei der Original Projektdatei zuckt er nicht im geringsten, und erzeugt eine lauffähige Anwendung. Info :Building... Info :Compiling C:\Auswertung\C++\CodeRupp\Datsrv\datsrv.cpp Error: TCPIPAPI.H(56,28):Declaration missing ; Error: TCPIPAPI.H(59,28):Multiple declaration for 'recv_params::far' Error: TCPIPAPI.H(56,28):Earlier declaration of 'recv_params::far' Error: TCPIPAPI.H(59,28):Declaration missing ; Error: TCPIPAPI.H(60,28):Multiple declaration for 'recv_params::far' Error: TCPIPAPI.H(59,28):Earlier declaration of 'recv_params::far' Error: TCPIPAPI.H(60,28):Declaration missing ; Error: TCPIPAPI.H(66,28):Declaration missing ; Error: TCPIPAPI.H(69,28):Multiple declaration for 'send_params::far' Error: TCPIPAPI.H(66,28):Earlier declaration of 'send_params::far' Error: TCPIPAPI.H(69,28):Declaration missing ; Error: TCPIPAPI.H(70,28):Multiple declaration for 'send_params::far' Error: TCPIPAPI.H(69,28):Earlier declaration of 'send_params::far' Error: TCPIPAPI.H(70,28):Declaration missing ; Error: TCPIPAPI.H(72,3):Constant member 'send_params::far' in class without constructors Error: TCPIPAPI.H(83,20):Declaration missing ; Error: TCPIPAPI.H(86,2):Constant member 'tag_setsockopt::far' in class without constructors Error: TCPIPAPI.H(92,16):Declaration missing ; Error: TCPIPAPI.H(93,16):Multiple declaration for 'tag_getsockopt::far' Error: TCPIPAPI.H(92,16):Earlier declaration of 'tag_getsockopt::far' Error: TCPIPAPI.H(93,16):Declaration missing ; Error: TCPIPAPI.H(174,14):Declaration missing ; Error: TCPIPAPI.H(175,14):Multiple declaration for 'tag_pppdial::far' Error: TCPIPAPI.H(174,14):Earlier declaration of 'tag_pppdial::far' Error: TCPIPAPI.H(175,14):Declaration missing ; Error: TCPIPAPI.H(175,14):Too many error or warning messages Die Zeilen 56 bis 60 sind der von mir bereits gepostete Code: struct recv_params { char far * bufferPtr; int bufferLength; int flags; /* Blocking or dontwait */ struct sockaddr far * fromPtr; /* only needed for UDP */ int far * fromlengthPtr; /* only needed for UDP */ unsigned long timeout; /* timeout milliseconds */ }; Zitieren
Klotzkopp Geschrieben 10. Mai 2006 Geschrieben 10. Mai 2006 Das liegt vermutlich an unterschiedlichen Projekteinstellungen. Zitieren
Fufialk Geschrieben 10. Mai 2006 Autor Geschrieben 10. Mai 2006 Das liegt vermutlich an unterschiedlichen Projekteinstellungen. Einstellungen in welchem Bereich? Ich habe die Optionen (Options|Project) manuell übertragen, und es läuft trotzdem nicht (selbe Fehlermeldung). Im übrigen kann man doch diese Optionen den C/C++ Standard doch gar nicht aufweichen, bzw. neue Funktionen hinzufügen. Zitieren
Klotzkopp Geschrieben 11. Mai 2006 Geschrieben 11. Mai 2006 Einstellungen in welchem Bereich? Kann ich dir nicht sagen. Ich kenne die Einstellmöglichkeiten des Borland-Compilers nicht. Ich habe die Optionen (Options|Project) manuell übertragen, und es läuft trotzdem nicht (selbe Fehlermeldung).Anscheinend hast du nicht alle übertragen, sonst würde es funktionieren. Im übrigen kann man doch diese Optionen den C/C++ Standard doch gar nicht aufweichen, bzw. neue Funktionen hinzufügen.Man kann den Standard nicht ändern, aber man kann das Verhalten des Compilers beeinflussen, so dass dieser sich nicht mehr an den Standard hält oder Erweiterungen einbringt. Oder hat dir jemand garantiert, dass dieser Code reines Standard-C ist und nicht irgendwelche compilerspezifische Erweiterungen benutzt? Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.