Forum: PC-Programmierung libsigc++ mit Eclipse


von Gottfried H. (gottfried_h)


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:
1
SIGC_USING_STD(cout)
2
SIGC_USING_STD(endl)
3
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?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Eclipse meckert? Oder vielleich doch der verwendete C++-Compiler?

Wie sieht denn das "Meckern" genau aus?

von Gottfried H. (gottfried_h)


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.

von Drum (Gast)


Lesenswert?

>Wie sieht denn das "Meckern" genau aus?

von Gottfried H. (gottfried_h)


Lesenswert?

Gelbes Fragezeichen mit "Syntax error".
Siehe Post darüber!

von Gottfried H. (gottfried_h)


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ß.

von Jean G. (chivas)


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

von Gottfried H. (gottfried_h)


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

von D. I. (Gast)


Lesenswert?

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

von Gottfried H. (gottfried_h)


Lesenswert?

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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.