Uebungsblatt 0

Moderator: Graphische Datenverarbeitung 1

SebFreutel
Computerversteher
Computerversteher
Beiträge: 317
Registriert: 30. Okt 2006 21:54

Re: Uebungsblatt 0

Beitrag von SebFreutel »

Hmm.. "gtk", "gtk+", "gtkmm" und "gtkglext" sollten bei mir jetzt installiert sein, zumindest findet "pkg-config" sie mittlerweile, aber jetzt kommt bei "gtkglextmm" beim ausführen von "configure":

Code: Alles auswählen

checking for GtkGLExt - version >= 1.0.0... no
*** Could not run GtkGLExt test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means GtkGLExt is incorrectly installed.
configure: error: GtkGLExt not found
was hab ich da wieder falsch gemacht?

mploc
Erstie
Erstie
Beiträge: 18
Registriert: 4. Okt 2007 12:04
Wohnort: Darmstadt

Re: Uebungsblatt 0

Beitrag von mploc »

Hallo zusammen,

Ich habe leider auch Probleme mit dem Beispielprogramm. Ich nutzte Windows, da ich nicht ganze Zeit an den Poolrechnern sitzen kann. :(

Ich nutzte:

Windows XP SP3
Eclipse 3.4.1 Platform
Gtk+ 2.14.3
gtkmm 2.4
GtkGLExt 1.0
MinGW 5.1.4

Die normalen C++ Programme können compiliert werden!
Es sind auch alle Bibliotheken eingebunden und die .dll-Dateien sind auch in den Umgebungsvariablen

Den Fehler den ich erhalte ist:


**** Internal Builder is used for build ****
g++ -ID:\Studium\Programme\gtkmm\ -ID:\Studium\Programme\GtkGLExt\1.0\include -ID:\Studium\Programme\gtk\include\ -O0 -g3 -Wall -c -fmessage-length=0 -obeispielprogramm\scene.o ..\beispielprogramm\scene.cc
In file included from ..\beispielprogramm\scene.cc:1:
..\beispielprogramm\scene.h:4:21: gtkglmm.h: No such file or directory
In file included from ..\beispielprogramm\scene.cc:1:
..\beispielprogramm\scene.h:10: error: `sigc' has not been declared
..\beispielprogramm\scene.h:11: error: expected class-name before '{' token
..\beispielprogramm\scene.h:17: error: `GdkEventExpose' has not been declared
..\beispielprogramm\scene.h:18: error: ISO C++ forbids declaration of `event' with no type
[...]
..\beispielprogramm\scene.cc:43: error: `GdkEventExpose' was not declared in this scope
..\beispielprogramm\scene.cc:43: error: `event' was not declared in this scope
..\beispielprogramm\scene.cc:43: error: expected primary-expression before '*' token
..\beispielprogramm\scene.cc:43: error: `view' was not declared in this scope
..\beispielprogramm\scene.cc:44: error: initializer expression list treated as compound expression
..\beispielprogramm\scene.cc:44: error: expected `,' or `;' before '{' token
Build error occurred, build is stopped
Time consumed: 562 ms.


Hat jemand eine Ahnung was ich noch machen muss, damit ich das zum laufen bekomme?

Vielen Dank für eure Mühe :wink:
Die Genialität einer Konstruktion liegt in ihrer Einfachheit. Kompliziert bauen kann jeder.
(Serge P. Koroljon)

a_nickol
Mausschubser
Mausschubser
Beiträge: 100
Registriert: 27. Okt 2005 10:33
Kontaktdaten:

Re: Uebungsblatt 0

Beitrag von a_nickol »

die verzeichnisse in denen die header dateien sind, müssen dem compiler mitgeteilt werden (unter include directories)

joker
Gast

Re: Uebungsblatt 0

Beitrag von joker »

Hmm.. "gtk", "gtk+", "gtkmm" und "gtkglext" sollten bei mir jetzt installiert sein, zumindest findet "pkg-config" sie mittlerweile, aber jetzt kommt bei "gtkglextmm" beim ausführen von "configure":

Code: Alles auswählen

checking for GtkGLExt - version >= 1.0.0... no
*** Could not run GtkGLExt test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means GtkGLExt is incorrectly installed.
configure: error: GtkGLExt not found
was hab ich da wieder falsch gemacht?
Eigentlich kann es nur so sein, dass die gtkglext Header Dateien nicht gefunden werden. Wenn "pkg-config --cflags gtkglext-1.0" eine sinnvolle Ausgabe liefert, d.h. in den -IVerzeichnis Angaben die Header liegen, dann sollte es kompilieren.

In der config.log Datei steht die genaue Fehlermeldung des Kompilers.

Im Prinzip müssen für Gtk+, Gtkmm und gtkglext in der "Pfad" Umgebungsvariable ein Eintrag zu den DLL's vorhanden sein, die sich im "bin" Unterverzeichnis befinden. Dies sollte aber eigentlich nur für das Ausführen des Programms eine Rolle spielen, da erst zu diesem Zeitpunkt die DLL's benötigt werden.

Zum Kompilieren sind die Header Dateien wichtig. Dazu muss in der "PKG_CONFIG_PATH" Umgebungsvariable jeweils ein Eintrag zu den pkg-config .pc Dateien vorhanden sein, die sich normalerweise in dem Unterverzeichnis "lib/pkgconfig" befinden.

In der config.log kannst du dir die genaue Fehlermeldung des Kompilers anschauen.

joker
Gast

Re: Uebungsblatt 0

Beitrag von joker »

@mploc
Du benötigst neben GtkGLExt außerdem noch GtkGLExtmm. Die Installation über MinGW ist möglich, aber vermutlich komplizierter als mit Cygwin, da du zum Kompilieren von GTKglextmm erst noch einige Pakete (autoconf, automake, libtool, etc.) nachinstallieren musst.

Evtl. kannst du dich mit SebFreutel kurzschließen?

Benutzeravatar
Render
Windoof-User
Windoof-User
Beiträge: 32
Registriert: 12. Okt 2008 17:21

Re: Uebungsblatt 0

Beitrag von Render »

Wenn ich das Beispielprogramm an einem Poolrechner starte, beende und dann wieder starte hängt sich nach wie vor X auf. Hat noch jemand das selbe Problem?

Benutzeravatar
mantra
Computerversteher
Computerversteher
Beiträge: 385
Registriert: 23. Okt 2005 23:56
Wohnort: Wiesbaden

Re: Uebungsblatt 0

Beitrag von mantra »

Render hat geschrieben:Wenn ich das Beispielprogramm an einem Poolrechner starte, beende und dann wieder starte hängt sich nach wie vor X auf. Hat noch jemand das selbe Problem?
Jap!

Benutzeravatar
Render
Windoof-User
Windoof-User
Beiträge: 32
Registriert: 12. Okt 2008 17:21

Re: Uebungsblatt 0

Beitrag von Render »

Nach ein paar weiteren Abstürzen hab ich gemerkt, dass wenn ich z.B. glxgears nach beenden des Beispielprogramms starte mir X nicht beim erneuten starten des Beispielprogramms abschmiert. :roll:

Benutzeravatar
Martin K
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 110
Registriert: 13. Okt 2006 17:56

Re: Uebungsblatt 0

Beitrag von Martin K »

Wie funktioniert denn die Installation unter cygwin? Geht das einfach über den Installer (setup.exe) und dann Pakete auswählen oder muss ich da noch mehr beachten? Und welche Pakete muss ich beim Installer alle auswählen, ich finde hier noch nicht einmal gtkmm?

P.S.: Die Installation mit MinGW habe ich mittlerweile aufgegeben...
Gäbe es die letzte Minute nicht,
so würde niemals etwas fertig.

- Mark Twain

j0chen
Erstie
Erstie
Beiträge: 22
Registriert: 24. Apr 2007 19:23
Wohnort: Riedstadt
Kontaktdaten:

Re: Uebungsblatt 0

Beitrag von j0chen »

ich bin zwar alles andere als experte auf dem gebiet, aber:
cygwin ist ledigleich der compiler / linker für standard c/c++
du brauchst (wie oben schonmal beschrieben) noch verschiedene frameworks
gtk+2
gtkmm2
gtkglextmm
gtk+2 gibts fertig als package für windows, bei gtkmm2 bin ich mir nicht sicher.
gtkglextmm gibts definitiv nicht als binary und muss selbst erstellt werden.

vielleicht kann ja jemand, der das unter windows laufen hat eine kurze anleitung schreiben.

EDIT:
wer lesen kann.... im andern thread gibts ja schon ne anleitung

Benutzeravatar
Y2Kie
Windoof-User
Windoof-User
Beiträge: 31
Registriert: 2. Dez 2005 13:37
Wohnort: Darmstadt
Kontaktdaten:

Re: Uebungsblatt 0

Beitrag von Y2Kie »

Hallo,
ich habe Probleme die ich bisher noch nicht lösen kann.
mit make Befehl von Beispielprogramm, kommt diese Fehlermeldung raus:

Package gtkglextmm-1.2 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtkglextmm-1.2.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtkglextmm-1.2' found
Package gtkglextmm-1.2 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtkglextmm-1.2.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtkglextmm-1.2' found
g++ -Wall -g -c main.cc -o main.o
make: g++: Command not found
make: *** [main.o] Error 127

Daher habe ich gedacht dass es das Paket gtkglextmm fehlt.
und dann habe ich die gtkglextmm-1.2.tar.gz herunterladen und extrahieren.
Jetzt wie kann ich das installieren oder compilieren?
Fehlt es mir nur dieses Paket oder benötige ich noch anderes?

danke

Benutzeravatar
Maradatscha
Computerversteher
Computerversteher
Beiträge: 353
Registriert: 2. Okt 2006 18:53

Re: Uebungsblatt 0

Beitrag von Maradatscha »

falls du wirklich willst dass dir jemand helfen kann solltest du uns mitteilen welches betriebssystem du benutzt

Synex
Mausschubser
Mausschubser
Beiträge: 49
Registriert: 8. Nov 2005 19:28

Re: Uebungsblatt 0

Beitrag von Synex »

Hey...
Ich versuche mich jetzt auch gerade an der Übung, aber leider kann ich MinGW nicht installieren (bricht ständig mittendrin mit nem Fehler ab). Deshalb probier ich es gerade mit Visual Studio unter Windows. Hat da jemand vlt. Ahnung, ob und wie das geht? Ich habe da vlt. auch schon was gefunden und ausprobiert: http://www.gtkmm.org/docs/gtkmm-2.4/doc ... 05-express .

MFG
Zuletzt geändert von Synex am 27. Okt 2008 09:36, insgesamt 1-mal geändert.

Benutzeravatar
Y2Kie
Windoof-User
Windoof-User
Beiträge: 31
Registriert: 2. Dez 2005 13:37
Wohnort: Darmstadt
Kontaktdaten:

Re: Uebungsblatt 0

Beitrag von Y2Kie »

Also ich benutze Ubuntu.

Benutzeravatar
Render
Windoof-User
Windoof-User
Beiträge: 32
Registriert: 12. Okt 2008 17:21

Re: Uebungsblatt 0

Beitrag von Render »

Y2Kie hat geschrieben:Ubuntu.
Bei Ubuntu müssten alle nötigen Pakete per apt-get installierbar sein.

Antworten

Zurück zu „Graphische Datenverarbeitung 1“