Hallo Leute
Wenn ich ein älteres C++ Programm kompilieren und linken will erscheint folgende Meldung:
#----------------------------------------------------------------------------------------------------------------------
warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the
Linux 15.039 Themen, 107.142 Beiträge
Ich denke wenn du zwei Versionen unter dem gleichen Linux vom C /C++ Kompiler installierst, werden zwei unterschiedliche Versionen der Laufzeitbibliothek installiert. Dann wird es wohl Probleme beim Kompileren geben. Du könntest eine virtuelle Maschine unter Linux hochfahren und eine ältere Verison von Linux installieren oder auf einer anderen Festplattenpartition eine ältere Version von Linux mit der Kompiler-version 2.95.2 installieren. Beim Kompilieren lässt du die Bibliotheken statisch hinzulinken, so das das Programm uinabhängig ist von den installierten Bibliotheksversionen auf der Festplatte. Dann wird der Programmcode nicht mehr von der Festplatte aus den Bibliotheken zur Laufzeit in das Programm nachgeladen sondern ist schon im Programmcode drinnen und wird gleich beim Programmstart mit geladen.
Der Kommandozeilenparameter ist: -static
Ich habe diese Information aus dem Online-Manual von gcc 2.95.3 von der Homepage des gcc (gcc.gnu.org).
Hier ist ein Link auf Optoinen (2.11 Options for Linking) zum Kompilieren.
http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_2.html#SEC2
Ich hoffe diese Option ist auch noch bei der Version 2.95.2 gültig.
Unter 2.11 sind Optionen für das Linken aufgeführt, unter anderen die Option "-static" um Bibliotheksdateien statisch zum Programm hinzuzulinken. Wenn du den Unterschied zwischen dynamisch und statisch gelinkten Programmen nicht kennst, dann mußt du 'mal deine Programmierkenntnisse ein wenig vertiefen. Ich bin auch kein erfahrener Programmierer, aber ich kann Handbücher lesen ;-).
Gruß K
