Veröffentlicht 10. Mai 200619 j 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.
10. Mai 200619 j Autor 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 */ };
10. Mai 200619 j Autor 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 */ };
10. Mai 200619 j Autor 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.
11. Mai 200619 j 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?
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.