C++ vom GCC 2.95.3 auf den GCC 3.3 portieren/migrieren
-
Hallo allerseits,
ich habe das Problem, dass ich zukünftig den GCC 3.3 nehmen sollte, meine bisherigen Sourcen aber alle mit dem 2.95.3 erstellt wurden und dort fehlerfrei compilieren.
Wenn ich dieselben Sourcen nun durch den 3.3 jage bekomme ich jede Menge Fehlermeldungen (u.a., dass ich Sachen als Typen verwende, diese aber vorher nicht deklariert habe, oder er meckert bei Konstanten rum, oder bei Methoden, die er nicht als Member der Klasse erkennt [sind aber im Header deklariert])!
Gibt es irgendwelche Anleitungen, Tips, Hinweise etc., die man beachten sollte, wenn man seine Sourcen vom 2.95.3 auf den 3.3 bringen möchte, so dass diese dort compilieren?
Beim C++ hab ich mich an Vorlagen/Bsps. aus dem Web bzw. aus Büchern orientiert und die waren immer compilerunabhängig geschrieben.
Die Sourcen sind meist in Header und Definition Dateien aufgebaut, wobei einige Klassen nur im Header existieren und dort auch ausprogrammiert sind (z.T. mit vielen Inlines).
Bin für jeden Tip dankbar!
Ciao
-
Der GCC wurde mit den Versionen immer strikter bei der Umsetzung des ISO-Standards und einige Sachen die fehlerhaft waren wurden beseitigt (und auch einige Compiler-Erweiterungen). Daher zahlt es sich eben immer aus, sich an den ISO-Standard zu halten und nicht irgend ein Feature zu nutzen, was gerade zufällig mit einer Compiler-Version funktioniert...
Mach es am besten so. Nimm den GCC 2.95.3 und lass ihn mit den Flags
-Wall -W -pedantic -std=c++98
durchlaufen. Versuch alle Warnungen und Fehler zu beheben. Dann macht das gleiche mit dem GCC 3.3. Das dürfte natürlich bei einem großen Projekt viel viel Arbeit sein. Aber anders wirst du nicht weiter kommen.(Vielleicht hilft ja ein Blick in die ChangeLogs)