Ich habe heute die SystemC 2.2.0 Referenzimplementierung gezogen und mich wiedermal darüber geärgert, dass nach wie vor die Sourcen nicht auf Anhieb übersetzbar sind. Anscheinend landen meine Mails an die OpenSystemC-Initiative direkt in /dev/null, denn ich habe schon mehrfach auf das Problem und dessen Lösung aufmerksam gemacht. Wie auch immer – hier die Lösung für alle, die auf das Problem stoßen: Beim Übersetzen der SystemC-Library kommt es beim Übersetzen mit dem gcc-4.5.4 (und darüber) zu den Fehlern:
sc_utils_ids.cpp: In Funktion »int sc_core::initialize()«: sc_utils_ids.cpp:110:36: Fehler: »getenv« ist kein Element von »std« sc_utils_ids.cpp:111:69: Fehler: »strcmp« wurde in diesem Gültigkeitsbereich nicht definiert
Schuld daran sind zwei vergessene Includes in der Datei src/sysc/utils/sc_utils_ids.cpp. Hier müssen am Anfang der Datei Includes eingefügt werden:
#include <cstdlib> #include <cstring>
Übrigens, beim gcc-4.6.1 kommt es zusätzlich zum Abbruch mit der Meldung
../../../src/sysc/datatypes/bit/sc_bit_proxies.h:716:16: Fehler: Referenz »m_obj« kann nicht als »mutable« deklariert sein [-fpermissive]
Hier das Übersetzen durch
AM_CXXFLAGS=-fpermissive make
statt dem einfachen make starten.
Neueste Kommentare