Builder v1 vs v3
-
Hallo
Ich habe einen C++ Code vor mir liegen, der erfolgreich mit Borland C++ Builder Version 1 compiliert worden sein soll, jetzt wird allerdings mit C++ Builder Version 3 gearbeitet und der Compiler gibt folgende Fehler aus:
[C++Warnung] excpt.h(81): Non-ANSI keyword used: '__cdecl'.
[C++Fehler] winnt.h(241): , expected.
[C++Fehler] winnt.h(242): Multiple declaration for '__int64'.
[C++Fehler] winnt.h(241): Earlier declaration of '__int64'.
[C++Fehler] winnt.h(242): , expected.
[C++Fehler] winnt.h(254): , expected.
[C++Fehler] winnt.h(255): , expected.
[C++Warnung] winnt.h(412): Non-ANSI keyword used: '__stdcall'.
[C++Warnung] winnt.h(419): Non-ANSI keyword used: '__stdcall'.
[C++Warnung] winnt.h(426): Non-ANSI keyword used: '__stdcall'.
[C++Warnung] winnt.h(4842): Non-ANSI keyword used: '__stdcall'.
[C++Warnung] windef.h(202): Non-ANSI keyword used: '__stdcall'.
[C++Warnung] windef.h(203): Non-ANSI keyword used: '__stdcall'.
[C++Warnung] windef.h(204): Non-ANSI keyword used: '__stdcall'.
[C++Warnung] winbase.h(239): Non-ANSI keyword used: '__stdcall'.
[C++Warnung] winbase.h(245): Non-ANSI keyword used: '__stdcall'.
[C++Fehler] winbase.h(995): Internal compiler error at 0x23a0c8 with base 0x260000.Die angegebenen Header-Files sind natürlich nicht direkt included und scheinen wohl irgendwie sekundär gelinkt sein.
Das Betrienssystem ist Winnt allerdings soll der Code auch auf Unix compilierbar sein. Wie gesagt es lief mit v1 und läuft nicht mit v3.
Meine Versuche die Fehler per Hand zu beseitigen waren nicht erfolgreich.Danke Björn
-
Hmmmm mehrplattformen-Code? Dann hast du bestimmt irgendwo bei den Includes #ifdef oder so? (damit unteschieden werden kann zwischen den Plattformen) Eventuell ist ein Compiler-Symbol nicht gesetzt?
-junix
-
ja es ist #ifdef UNIX relativ oft im Code vertreten.
Welche Compileroption muss da wo gesetzt werden?