Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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.

Geschrieben

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 */

};

Geschrieben

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 */

};

Geschrieben
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.

Geschrieben
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?

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...