Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » KDevelop / Qt / wxWidget » QT und OpenGL

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
03.03.2005, 23:08 Uhr
henning



Moin,

ich habe ein Problem mit QT und OpenGL. Habe vor einem Jahr einen Editor fuer Splines geschrieben (mit KDevelop2 und QT3), der auch einwandfrei funktioniert und vor allen Dingen kompiliert hat. Habe jetzt die Sourcen nochmal rausgeholt und bekomme das Projekt nicht mehr auf meinem aktuellen Debian System kompiliert. Benutzt wird libqt3c102 3.3.3-8, mesa3d 4.3.0 und gcc 3.4. Alle Klassen includen qgl.h.

Der Linker wirft mir aber als Fehler aus:

globjwin.o(.text+0x1532): In function `GLObjectWindow::GLObjectWindow[not-in-charge](QWidget*, char const*)':
: undefined reference to `glGenLists'
globjwin.o(.text+0x2ad2): In function `GLObjectWindow::GLObjectWindow[in-charge](QWidget*, char const*)':
: undefined reference to `glGenLists'
globjwin.o(.text+0x326b): In function `GLObjectWindow::slotUpdateView()':
: undefined reference to `glNewList'

.... insgesamt wird jede Verwendung von gl* angemeckert.

Habe bereits folgende Schritte durchgefuehrt, allerdings ohne Erfolg:

- Neues QMake Projekt gemacht und die alten Sourcen darin importiert
- Den NVIDIA Binary Driver entfernt und auf Software Rendering umgestellt
- Ueberprueft, um die Redbook Beispiele aus den mesatools kompilieren (tun sie)
- Habe eine Version von qt3 mit gelinkter opengl Library gebaut und die verwendet (so dass er nicht per dopen() nachladen muss)
- Mein fertiges Paket von damals per ./configure ; make nochmal kompiliert (geht auch nicht)

Ich verstehe vor allen Dingen nicht, warum der Fehler erst beim Linken kommt. Das heisst doch, dass er zwar in den Include Dateien alle Methoden gefunden hat, aber in den dazugehoerigen Libs nicht, oder? Das wuerde aber heissen, dass die Include Dateien nicht konsistent mit den Libraries sind, aber wie kann das sein?

Wie kann ich jetzt weiter vorgehen, um den Fehler einzugrenzen? Habe mal mit strace geschaut, ob er waehrend des libtool Laufs ueberhaupt die libGL oeffnet - und in der Tat, sie wird geoeffnet. Wahrscheinlich fehlt nur irgendein Symlink o.ae., aber welcher?

Fuer jeden Tip dankbar.

so long
Henning
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
04.03.2005, 09:58 Uhr
kronos
Quotenfisch
(Operator)


Was für 'ne libGL verwendest du denn? Die vom X-Server, oder hast du evtl. irgendeine mesa-version?
--
main($)??<-$<='?'>>2?main($-!!putchar(
(("$;99M?GD??(??/x0d??/a:???;a"+'?'/4)
??($??)+'?'/3-2-1+$%2)??''?')):'?';??>
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
04.03.2005, 11:07 Uhr
~henning
Gast


Danke fuer Deine Antwort.

Erst die vom nvidia-glx Paket und als das nicht ging die vom mesa3d. Habe mit glxinfo jeweils ueberprueft, dass auch wirklich die richtige Lib verwendet wird.

Habe es vorhin zum Linken bekommen. Der Linker hat als Option noch -lGL gebraucht (in den Projekt-Einstellungen angegeben), dann ging es ploetzlich. Ich weiss aber nicht warum, in der Version von vor einem Jahr war das nicht notwendig und ich habe das kdevelop Projekt von damals einfach importiert.

Leider gibt es jetzt gleich das naechste Problem:

Mein erster Test war mit mesa3d. Das Programm startet, macht mir vier Ansichten-Fenster (mit blauem Hintergrund) auf und ich kann auch Objekte anlegen und bearbeiten. Gut.

Dann habe ich wieder die nvidia-glx Treiber installiert, um an die Hardware-Beschleunigung zu kommen und jetzt kann ich zwar die Applikation starten, aber die vier Fenster bleiben komplett schwarz und es werden auch keine Objekte angezeigt. Das Programm laeuft aber einwandfrei (im Sinne von "Es haengt nirgends"), meine qDebug Meldungen in der initializeGL und paint Methode werden alle fleissig ausgegeben.

Um auszuschliessen, dass es ein grundsaetzliches Problem ist, habe ich zum einen Tuxracer ausprobiert als auch die openGL Beispiele aus den qt3-examples kompiliert und gestartet (das glgear z.B.). Das funktioniert. Nur meine bloede Applikation nicht.

Waere also die naechste Frage, wie ich diesem Problem am besten zu Leibe ruecken kann. Ich weiss wieder nicht, wo ich suchen soll :-I

Fuer Hinweise dankbar.

so long
Henning
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ KDevelop / Qt / wxWidget ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: