www.mikrocontroller.net

Forum: PC-Programmierung libsigc++ mit Eclipse


Autor: Gottfried Hauer (gottfried_h)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich wollte mir die libsigc++ einmal ansehen und hab mir dafür die 
aktuellen Sourcen geholt und Debian Lenny installiert. Als IDE möchte 
ich Eclipse verwenden. Daher habe ich ein C++ Projekt angelegt und das 
Hello World example in das Projekt kopiert. Header und lib hab ich 
eingetragen, aber Eclipse meckert, dass es folgendes nicht findet:
SIGC_USING_STD(cout)
SIGC_USING_STD(endl)
SIGC_USING_STD(string)
Ich hab auch schon versucht das Bsp. aus dem Tutorial in ein Projekt zu 
hängen und zu kompilieren, aber da bekomme ich über 1000 Fehler.
Wenn ich das Bsp. über das Shell-Skript starte läuft es.
Kann mir jemand sagen, was ich im Eclipse einstellen muß damit ich das 
Projket kompilieren und starten kann?

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eclipse meckert? Oder vielleich doch der verwendete C++-Compiler?

Wie sieht denn das "Meckern" genau aus?

Autor: Gottfried Hauer (gottfried_h)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit meckern mein ich ein Gelbes Fragezeichen mit "Syntax error"?
Sieht aus als würde er das Makro nicht finden.
Wenn ich versuche das Beispiel aus dem Tutorial (Aliendetector) zu 
kompilieren bekomme ich jede Menge Fehler vom Compiler.

Autor: Drum (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wie sieht denn das "Meckern" genau aus?

Autor: Gottfried Hauer (gottfried_h)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gelbes Fragezeichen mit "Syntax error".
Siehe Post darüber!

Autor: Gottfried Hauer (gottfried_h)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hab jetzt den Sourcecode einfach wie im Tutorial compiliert und das 
Programm wird ohne Fehler erstellt und läuft auch. Was mach ich im 
Eclipse falsch. Vielleiht kann ja irgendjemand das Tutorial bsp. im 
Eclipse kompilieren und mir sagen was ich machen muß.

Autor: Jean G. (chivas)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du Eclipse den Pfad zur libsigc++ mitgeteilt? Ein möglicher 
Verfahrensweg zur Einbindung existierender Sourcen:

- Zuerst ermitteln, wo sich bspw. die libsigc++ auf deinem Rechner 
befindet
- Ein neues Eclipse Projekt anlegen, z.B. ein Makefile Projekt, je 
nachdem was vorliegt. Dann ggf. die entsprechende Toolchain auswählen
- Unterhalb des Namen des Projekts nicht die "default location" wählen, 
sondern den Pfad zu den Sourcen angeben
- Auf "Next" klicken und die "Advanced Settings" aufrufen. Diesen 
Schritt kann man auch überspringen und später, nach dem Erstellen des 
Projekts, per Rechtsklick die "Properties" aufrufen. Dann erscheint die 
identische Maske
- Unter "C/C++ General" gibt es einen Unterpunkt, der sich "Path and 
Symbols" nennt, anklicken
- Default Tab ist "Includes", hier die Sprache auswählen (bspw. GNU C), 
sodass diese grau unterlegt ist
- Unter den Tabs "Includes" (funktioniert rekursiv, für die glib reicht 
bspw. die glib.h, nicht alles einzeln inkludieren!), "Libraries" und
"Library Paths" die entsprechenden Pfade oder Dateien eingeben
- Danach "Apply", kurz warten und die gelben Fragezeichen sollten nicht 
mehr erscheinen

Autor: Gottfried Hauer (gottfried_h)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Damit ich die Fehler nicht mehr habe mußte ich das include 
"sigc++config.h" hinzufügen
Das Projekt läst sich mit
g++ example1.cc -o example1 `pkg-config --cflags --libs sigc++-2.0`
kompilieren und ausführen.
Wenn ich im Eclipse bei den Properties unter Compiler in Miscellaneous 
folgendes einfüge nützt das aber nichts.
`pkg-config --cflags --libs sigc++-2.0`

Ich hab dann immer noch 15 Fehler. Als Compiler nehme ich Linux GCC und 
als Builder make

Für weitere Ratschläge wäre ich dankbar

Autor: D. I. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du einfach mal die fehlerausgaben posten würdest, könnte man dir 
zielgerichteter helfen

Autor: Gottfried Hauer (gottfried_h)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab endlich den Fehler.
Man muß die Zeile
`pkg-config --cflags --libs sigc++-2.0`
nicht beim Kompiler sondern beim Linkter unter Miscellaneous eintragen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.