FLTK Programme laufen nicht!
-
Hallo!
Ich hoffe hier kann mir jemand weiterhelfen. Ich habe die FLTK Laufzeitbibliothek mit hilfe von "make" und "make install" erfolgreich auf meinem iBookG4 (im Terminal) installieren können.
Ich wollte einen mitgelieferten Code ausführen lassen, um mich mit FLTK vertraut zu machen, und dann habe ich auf meinem Terminal folgendes gesehen.
$ g++ hello.cpp -o hello
/usr/bin/ld: Undefined symbols:
fl_define_FL_SHADOW_LABEL()
Fl::run()
Fl_Group::end()
Fl_Widget::Fl_Widget(int, int, int, int, char const*)
Fl_Window::show(int, char**)
Fl_Window::Fl_Window(int, int, char const*)
vtable for Fl_Box
collect2: ld returned 1 exit statusDoch leider keine GUI!
Kann mir vielleicht jemand sagen, was ich falsch gemacht habe und/oder mir vielleicht eine Installationsanleitung oder ähnliches geben (sodass es endlich funktioniert)? Oder einfach mir ein paar Zeilen aufsetzen, damit ich endlich mal eine FLTK-GUI auf meinem eigenen Display sehen kann.
Ich mache jetzt schon seit Tagen rum und komme nicht mehr weiter!
Danke, Oliver
-
Es sieht so aus, als ob du die Libs nicht dazulinken würdest. Siehe auch hier:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-166668.html
-
Danke für deine Hilfe.
Ich habe jetzt folgendes versucht, doch leider ohne Erfolg!~/Desktop/fltk-1.1.7 oli$ g++ -o oli -lfltk oli.cpp
/usr/bin/ld: Undefined symbols:
fl_define_FL_SHADOW_LABEL()
Fl::run()
Fl_Group::end()
Fl_Widget::Fl_Widget(int, int, int, int, char const*)
Fl_Window::show(int, char**)
Fl_Window::Fl_Window(int, int, char const*)
vtable for Fl_Box
collect2: ld returned 1 exit status~/Desktop/fltk-1.1.7 oli$ g++ -o oli -lfltk2 oli.cpp
/usr/bin/ld: can't locate file for: -lfltk2
collect2: ld returned 1 exit status~/Desktop/fltk-1.1.7 oli$ g++ `fltk-config --cxxflags`-o oli.o oli.cpp
-bash: fltk-config: command not found
/usr/bin/ld: Undefined symbols:
fl_define_FL_SHADOW_LABEL()
Fl::run()
Fl_Group::end()
Fl_Widget::Fl_Widget(int, int, int, int, char const*)
Fl_Window::show(int, char**)
Fl_Window::Fl_Window(int, int, char const*)
vtable for Fl_Box
collect2: ld returned 1 exit status~/Desktop/fltk-1.1.7 oli$ g++ `fltk-config --ldflags`-o oli oli.o
-bash: fltk-config: command not found
powerpc-apple-darwin8-g++-4.0.0: oli.o: No such file or directory
powerpc-apple-darwin8-g++-4.0.0: no input filesIch muss gestehen, dass ich die FLTK-Installationsanleitung nicht so wirklich verstehe. In welchem Verzeichnins müssen den die Bibliotheken liegen unter UNIX? Und wie stelle ich dei CFLAGS, CXXFLAGS, LDFLAGS ein?
Oli
-
ClassicLC schrieb:
~/Desktop/fltk-1.1.7 oli$ g++ `fltk-config --cxxflags`-o oli.o oli.cpp
-bash: fltk-config: command not foundSchau mal, ob fltk-config in deinem /usr/bin bzw. /usr/local/bin Ordner liegt. Oder such mit where usw.
In welchem Verzeichnins müssen den die Bibliotheken liegen unter UNIX?
Bei mir lagen sie immer unter /usr/local/lib . Drei oder vier an der Zahl. Die kannst du auch von Hand dazulinken (mittels -l, siehe auch man gcc dafür).
MfG
GPC
-
Wenn fltk-config erst mal "gefunden" wird, dann kann man die kleinen Beispiele auch direkt mit
fltk-config --compile main.cpp
compilieren. Eine schöne Alternative ist CMake. Hier sollte fltk schon direkt unterstützt werden (das habe ich bisher noch nicht probiert). CMake erzeugt für verschiedene Entwicklungsumgebungen die Build-Infos. Für GCC wird so ein Makefile erzeugt, dass alles was notwendig ist enthält. Das ist recht praktisch.
-
Vielen Dank, dass werde ich ausprobieren!
Ich habe die Laufzeitbibliothek mit ./configure ; make und make install installiert und es hat laut Terminal auch geklappt, aber wenn ich so ein Beispielprogramm mit dem g++-Compiler compilieren möchte klappt es nicht.
Wann muss ich denn "fltk-config --compile main.cpp" durchführen vor oder nach der Installation, oder ist das die Installation? Und verwende ich cmake anstatt make in der Installation? Ich muss zugeben noch 2 Wochen rumprobieren werde ich langsam etwas unsicher ob ich alles richtig mache!
Also ich habe den Order FLTK-1.1.7 aus dem Internet auf meinen Desktop geladen. Wechsel in den Terminal. Wechsel dann in den FLTK-1.1.7 Ordner. Gebe ./configure ein -Text läuft durch-, gebe make ein -Text läuft durch-, und gebe dann sudo make install ein -Text läuft durch- und dann ist mein Prompt wieder da.Jetzt müsste doch eigentlich alles passen, oder?
-
ClassicLC schrieb:
Also ich habe den Order FLTK-1.1.7 aus dem Internet auf meinen Desktop geladen. Wechsel in den Terminal. Wechsel dann in den FLTK-1.1.7 Ordner. Gebe ./configure ein -Text läuft durch-, gebe make ein -Text läuft durch-, und gebe dann sudo make install ein -Text läuft durch- und dann ist mein Prompt wieder da.Jetzt müsste doch eigentlich alles passen, oder?
Ja, jetzt hast du fltk installiert. Wenn keine Fehlermeldungen auftraten (und das entnehme ich deinen Äußerungen), lief alles glatt und es ist startklar.
Jetzt kannst du z.B. mit dem joede geposteten Befehl Fltk-Programm kompilieren.
-
Ja super! Ich danke euch für die Starthilfe.
Ich werde gleich mal das mal ausprobieren.