probleme mit g++-3.3 und g++-4.0

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
kalkproduzent
Beiträge: 14
Registriert: 03.05.2005 11:01:20

probleme mit g++-3.3 und g++-4.0

Beitrag von kalkproduzent » 26.09.2005 11:50:24

Hi,
ich programmiere mit C++ und nutze dabei eine bereits kompilierte Library (SystemC). Die SystemC Library ist unter stable (sarge) mit g++-3.3 kompiliert.
Nun habe ich meine Distribution von stable nach testing geupdated. Unter testing ist ja der g++-4.0 Standard und soweit ich weiß, hat sich von 3.3 auf 4.0 die abi geändert. Also kann ich mein Projekt, bei dem eben die SystemC-Library eingebunden ist, nicht mit g++-4.0 kompilieren. Daher gebe ich im Makefile mit CC = g++-3.3 explizit an, dass er die alte version nutzen soll.
Trotzdem bekomme ich am Ende des Kompiliervorganges folgenden Fehler:

/usr/bin/ld: `.gnu.linkonce.t._ZN5sc_dt17scfx_parse_prefixERPKc' referenced in section `.rodata' of /home/arcas/sysc0/systemc-2.0.1/lib-linux/libsystemc.a(scfx_rep.o): defined in discarded section `.gnu.linkonce.t._ZN5sc_dt17scfx_parse_prefixERPKc' of /home/arcas/sysc0/systemc-2.0.1/lib-linux/libsystemc.a(scfx_rep.o)

Warum funktioniert das nicht?
Danke,
Andreas

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22365
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 26.09.2005 13:20:00

Hast du von der SystemC Library den Quellcode, den neu kompilieren, oder die Links vorübergehend umlegen.

gcc, cpp und g++
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Re: probleme mit g++-3.3 und g++-4.0

Beitrag von Joghurt » 26.09.2005 13:22:10

kalkproduzent hat geschrieben: Daher gebe ich im Makefile mit CC = g++-3.3 explizit an
CC steht für "C Compiler", für C++ wird der Wert von CXX genommen.

kalkproduzent
Beiträge: 14
Registriert: 03.05.2005 11:01:20

Beitrag von kalkproduzent » 26.09.2005 16:43:49

Jetzt habe ich cpp, gcc und g++ jeweils auf die 3.3 Version umgeleitet und dann die SystemC Library neu kompiliert. Das hat geklappt.
Danach wollte ich mein Programm kompilieren und bekomme wieder den selben (oben geposteten) Fehler.
Woran kanns noch liegen?

edit: Mit g++-4.0 kompiliert die SystemC Bibliothek leider nicht.

kalkproduzent
Beiträge: 14
Registriert: 03.05.2005 11:01:20

Beitrag von kalkproduzent » 27.09.2005 11:53:12

Jetzt habe ich bemerkt, dass diese Meldungen am Schluss beim Linken der ausführbaren Datei keine Fehler sind sondern "nur" Warnungen. Zumindest markiert kdevelop sie gelb und die .x Datei wird trotzdem erstellt.
Hier nochmal die Meldungen:

/usr/bin/ld: `.gnu.linkonce.t._ZN5sc_dt17scfx_parse_prefixERPKc' referenced in section `.rodata' of /home/alk/sysc/systemc-2.0.1/lib-linux/libsystemc.a(scfx_rep.o): defined in discarded section `.gnu.linkonce.t._ZN5sc_dt17scfx_parse_prefixERPKc' of /home/alk/sysc/systemc-2.0.1/lib-linux/libsystemc.a(scfx_rep.o)

Diese Meldung kommt noch 3 mal nur ist die 17 jeweils durch andere Zahlen ersetzt.

Jetzt hätte ich noch ein paar abschließende Fragen:
Woher kommen die Meldungen? Library und Programm sind mit der selben Compilerversion kompiliert.
Was bedeuten sie? Soll ich sie ignorieren, oder sollte ich lieber zu stable zurückkehren (will ich eigentlich vermeiden)?

Wäre schön wenn da noch jemand was wüsste.

Antworten