C++ OpenGl und FLTK

MiMi

Erfahrenes Mitglied
Hi,

wir fangen inner FH demnächst an mit OpenGl und FLTK zu programmeiren.
Nun hab ich zunächst das Glut runtergeladen und die Dateien dorthin kopiert wie es hier stand: Link

4. Download and setup GLUT

a. Download GLUT MinGW

b. Place glut32.dll in your C:\Windows\System32 folder

c. Put glut.h in the folder C:\MinGW\include\GL folder and libglut32.a in C:\MinGW\lib (These folders are relative to where MinGW was installed).
Hab dann auch die Schritte befolgt zum importieren
d. Choose "C/C++ Build" and select "Libraries" from under the "GCC C++ Linker" branch.

You need to add glut32, glu32, and opengl32 to the list of libraries.

Die demo funktioniert auch. Nun brauch ich jedoch noch FLTK. Hab es auch runtergeladen, kann aber nirgends finden was ich nun noch ins Project importieren muss :(

Achja ich programmier unter Windows und da braucht man glaub ich noch 2 oder 3 extra Sachen die man importieren muss.

Hoffe mir kann jemand erklären wie ich das nun importiert bekomme :D

THX
 
HEYHO...

sorry das ich hier so ins gespräch reinplatze aber ich bin echt RATLOS
Ich lerne seit ner weile die windowsprogrammierung und hab als IDE Code::Blocks. Davor hatte ich Dev.Cpp für Konsolen Anwendungen...
Leider gibt mir Code::Blocks andauernd falsche Fehlermeldungen aus
von wegen:
fatal error C1083 : Cannot Open include file : 'windows.h' : No such file or directory.

So... das ist der Fall wenn ich ne Datei öffne... wenn ich aber ein Projekt neu anlege sagt er irgendwas von wegen :
mingw32-gcc.exe: installation problem, cannot exec `cc1': No such file or directory
:eek:
BITTE HELFT MIR.... DAS TREIBT MICH INNEN WAHNSINN

Danke im voraus
...
 
Also ich hab nun auch das kompliliert mit msys wie unter
http://www3.telus.net/public/robark/#pre bei Option 2 beschrieben.

Nur wie bekomme ihc das nun in eclipse geladen?
Da sollte ein Skript namens "fltk-config" installiert sein. Mit "fltk-config --cxxflags" bzw. "fltk-config --libs" etc. kannst du dir die notwendigen Optionen anzeigen lassen, die du dann in Eclipse einfügen kannst.

Du könntest allerdings auch "fltk-config --compile" als Build-Kommando verwenden.

Oder du schreibst dir ein eigenes Makefile.

Gruß
 
Hi.
sorry das ich hier so ins gespräch reinplatze aber ich bin echt RATLOS
Warum startest du nicht ein eigenes Thema? Hier geht es um Eclipse und FLTK+OpenGL. Was hat das mit deinem Problem zu tun?
Ich lerne seit ner weile die windowsprogrammierung und hab als IDE Code::Blocks. Davor hatte ich Dev.Cpp für Konsolen Anwendungen...
Leider gibt mir Code::Blocks andauernd falsche Fehlermeldungen aus
von wegen:
fatal error C1083 : Cannot Open include file : 'windows.h' : No such file or directory.
Die Meldung ist nicht von Code::Blocks sondern von deinem Compiler. Wie es aussieht ist das der Compiler von Microsoft. Hast du das Windows Platform SDK installiert?
So... das ist der Fall wenn ich ne Datei öffne... wenn ich aber ein Projekt neu anlege sagt er irgendwas von wegen :
mingw32-gcc.exe: installation problem, cannot exec `cc1': No such file or directory
:eek:
Diese Meldung stammt nun wieder vom MinGW (GCC) Compiler. Der scheint nicht richtig installiert zu sein. Installier MinGW einfach nochmal und überprüfe die Einstellungen in Code::Blocks, das auch der richtige Compiler ausgewählt ist.

Gruß
 
Also die Skripte hab ich gefunden. Auch ausgeführt, jedoch kann ich net so viel damit anfangen ^^
$ fltk-config --cxx
g++

und:
$ fltk-config --libs
./lib/libfltk.a


Habe in Eclipse schon mein Lib Verzeichnis von FLTK zugefügt und auch die fltk und es ändert scih nichts :(
Und wie ich das mache mit dem Build-Kommando weiss ich net. Ich hab zwar bei Project ne "make targets-> create" gefunden, worin ich die targetfile und auch nen Buildcommando angeben kann, jedoch kommen dennoch die gleichen Fehler.

g++ -O0 -g3 -Wall -c -fmessage-length=0 -oBasicWindow.o ..\BasicWindow.cpp
..\BasicWindow.cpp:1:19: FL/Fl.H: No such file or directory
..\BasicWindow.cpp:3:26: FL/Fl_Window.H: No such file or directory
.. usw


EDIT:
Wenn ich das über die MSYS KOnsole ausführe fltk-config --compile BasicWindow.cpp
Kompiliert er ohne Probleme. D.H. Ich mach irgendwas mit Eclipse noch falsch :(
 
Zuletzt bearbeitet:
Also die Skripte hab ich gefunden. Auch ausgeführt, jedoch kann ich net so viel damit anfangen ^^
$ fltk-config --cxx
g++
Ich schrieb "--cxxflags"
und:
$ fltk-config --libs
./lib/libfltk.a
Dann mußt du "fltk" noch zu den Bibliotheken genau wie mit glut32 etc. hinzufügen.

Habe in Eclipse schon mein Lib Verzeichnis von FLTK zugefügt und auch die fltk und es ändert scih nichts :(
Ich dachte du hast auch "make install" ausgeführt?! Dann sollte die fltk Bibliothek (also die Datei libfltk.a) auch ins MinGW /lib Verzeichnis kopiert worden sein. D.h. die Bibliothek sollte der Linker finden - du mußt ihm nur sagen, das er sie suchen soll...

Gruß
 
Hm, also
$ fltk-config --cxxflags
-I/usr/local/include -I/usr/local/include/FL/images -mwindows -DWIN32 -mno-cygwin

Wo ich die -I Sachen einfüge is mir klar, das steht ja dabei, aber das mwindows und die andern sachen kp.

Ja ich hab make install ausgeführt, aber in meinem MinGW/lib ist keine fltk datei zu finden.
 
Also hab mich nun entschieden meine eigene Makefile zu schreiben jedoch kommt nun ein neuer anderer Fehler :(

Makefile:
CXXFLAGS = -O2 -g -Wall -fmessage-length=0 -I/usr/local/include -I/usr/local/include/FL/images -mwindows -DWIN32 -mno-cygwin

OBJS = BasicWindow.o

LIBS = /usr/local/lib/libfltk.a

TARGET = BasicWindow.exe

$(TARGET): $(OBJS)
$(CXX) -o $(TARGET) $(OBJS) $(LIBS)

all: $(TARGET)

clean:
rm -f $(OBJS) $(TARGET)

Fehler:

make all
g++ -o BasicWindow.exe BasicWindow.o /usr/local/lib/libfltk.a
C:/Programme/MSys/local/lib/libfltk.a(Fl.o):Fl.cxx:(.text+0x3d3): undefined reference to `DeleteObject@4'
C:/Programme/MSys/local/lib/libfltk.a(Fl.o):Fl.cxx:(.text+0x1321): undefined reference to `CreateRectRgn@16'
C:/Programme/MSys/local/lib/libfltk.a(Fl.o):Fl.cxx:(.text+0x137c): undefined reference to `CreateRectRgn@16'
usw usw usw :(

Achja mein Quelltext
C++:
#include <FL/Fl.H>

#include <FL/Fl_Window.H>

int main()
{

        Fl_Window b(20, 20, 400, 400,"Title for our window");

        b.show();

        return Fl::run();

}

Also nichts weltbewegendes.
Mach ich was in der Makefile falsch oder liegt es an ner falschen Einstellung von MSYS ?
 
Zurück