Code::Blocks und FLTK

Sazh

Grünschnabel
Hallo Leute,

ich habe das Problem, dass ich mit CB mit FLTK einrichten wollte.
Dazu gibt es ja viele Anleitungen im Netz, doch keine brachte mir den erfolg.
Ich benutze CB unter Windows 7.

Ich wollte fragen ob jemand eine Anleitung kennt/hat die auch funktioniert?

Ich kann auch nochmal die Links zu den Anleitungen und die aufgetretenen Fehler posten wenn das weiterhilft.

Vielen Dank schon mal im Vorraus :)

mfg Sazh
 
Versuch 1:
Da habe ich mir von hier
http://code.google.com/p/fltkwinbin/downloads/detail?name=fltk-1.3.x-r8627-win-bin.rar&can=2&q=
das Archiv gedownloadet und entpackt und den Pfad für das Verzeichnis wie folgt in CB (Version 10.05) angegeben
Versuch1_CB_settings.JPG


Versuch 2
Installation von MingW, Übersetzen von FLTK unter Windows

FLTK kann mit verschiedenen C++-Compilern übersetzt werden (VisualC++, Borland-C++, ...), beschrieben wird die freie MingW-Umgebung mit dem GNU-C++-Compiler.

Installation der FLTK-Bibliothek unter Windows:

MingW-Umgebung aufrufen.
Verzeichnis /usr/local/src anlegen und hineinwechseln:

mkdir -p /usr/local/src
cd /usr/local/src

fltk auspacken:

tar xzvf /laufwerk/pfad/fltk*.tar.gz
cd fltk...

Aufruf:

./configure
make
make install

Test:

cd test
./demo.exe

Zurück ins Homeverzeichnis wechseln:

cd
Von der Seite http://www.tu-chemnitz.de/wirtschaft/wi1/lehre/2004_ws/wi_pr3/C++/base.htm

Starte wie beschrieben msys und komme bis "make" dann kommt folgender Fehler:

Versuch2_mit_MinGW_msys.JPG



Die anderen beiden Anleitungen finde ich gerade nicht. Habe mir die Seiten leider nicht gespeichert

Danke schonmal für eure Bemühungen :)
 
Versuch 1:
Da habe ich mir von hier
http://code.google.com/p/fltkwinbin/downloads/detail?name=fltk-1.3.x-r8627-win-bin.rar&can=2&q=
das Archiv gedownloadet und entpackt und den Pfad für das Verzeichnis wie folgt in CB (Version 10.05) angegeben
Und dann.... ? :eek:
Versuch 2

Starte wie beschrieben msys und komme bis "make" dann kommt folgender Fehler:
Bitte kopiere doch einfach die Ausgabe; einen Screenshot zu machen + hochzuladen etc. ist doch viel umständlicher...

Probiere doch mal "mingw32-make" statt "make" aufzurufen.
 
Zuletzt bearbeitet:
Sorry :D
ganz vergessen den anderen screen hochzuladen xD (Kopiere ich als Text jetzt hier hin)

Also danach konnte ich das FLTK-Projekt normal erstellt und versucht zu compilieren.
(Dort ist ja immer ein Beispielprojekt vorhanden beim erstellen)

C++:
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Box.H>

int main (int argc, char ** argv)
{
  Fl_Window *window;
  Fl_Box *box;

  window = new Fl_Window (300, 180);
  box = new Fl_Box (20, 40, 260, 100, "Hello World!");

  box->box (FL_UP_BOX);
  box->labelsize (36);
  box->labelfont (FL_BOLD+FL_ITALIC);
  box->labeltype (FL_SHADOW_LABEL);
  window->end ();
  window->show (argc, argv);

  return(Fl::run());
}


Dabei bekomme ich dann folgende Fehler:
  • D:\fltk-1.3.x-r8627-win-bin\lib\libfltk.a(Fl_Printer.o):Fl_Printer.cxx|| undefined reference to `PrintDlgA@4'|
  • D:\fltk-1.3.x-r8627-win-bin\lib\libfltk.a(Fl_Printer.o):Fl_Printer.cxx|| undefined reference to `CommDlgExtendedError@0'|
  • D:\fltk-1.3.x-r8627-win-bin\lib\libfltk.a(Fl_Native_File_Chooser.o):Fl_Native_File_Chooser.cxx|| undefined reference to `GetOpenFileNameW@4'|
  • D:\fltk-1.3.x-r8627-win-bin\lib\libfltk.a(Fl_Native_File_Chooser.o):Fl_Native_File_Chooser.cxx|| undefined reference to `CommDlgExtendedError@0'|
  • D:\fltk-1.3.x-r8627-win-bin\lib\libfltk.a(Fl_Native_File_Chooser.o):Fl_Native_File_Chooser.cxx|| undefined reference to `GetSaveFileNameW@4'|


Wenn ich es mit mingw32-make statt make versuche kommt der gleiche Fehler.
 
Zuletzt bearbeitet von einem Moderator:
Dabei bekomme ich dann folgende Fehler:
  • D:\fltk-1.3.x-r8627-win-bin\lib\libfltk.a(Fl_Printer.o):Fl_Printer.cxx|| undefined reference to `PrintDlgA@4'|
  • D:\fltk-1.3.x-r8627-win-bin\lib\libfltk.a(Fl_Printer.o):Fl_Printer.cxx|| undefined reference to `CommDlgExtendedError@0'|
  • D:\fltk-1.3.x-r8627-win-bin\lib\libfltk.a(Fl_Native_File_Chooser.o):Fl_Native_File_Chooser.cxx|| undefined reference to `GetOpenFileNameW@4'|
  • D:\fltk-1.3.x-r8627-win-bin\lib\libfltk.a(Fl_Native_File_Chooser.o):Fl_Native_File_Chooser.cxx|| undefined reference to `CommDlgExtendedError@0'|
  • D:\fltk-1.3.x-r8627-win-bin\lib\libfltk.a(Fl_Native_File_Chooser.o):Fl_Native_File_Chooser.cxx|| undefined reference to `GetSaveFileNameW@4'|
Dir fehlen die Standard-Windows Bibliotheken beim Linken.

Füge in die lflags "-mwindows -lole32 -luuid -lcomctl32 -lcomdlg32 -lwsock32" ein.
Wenn ich es mit mingw32-make statt make versuche kommt der gleiche Fehler.
Da stimmt irgendwas mit deiner MinGW Umgebung nicht. Versuche mal mingw32-make einfach in einer cmd Shell aufzurufen, nicht unter MSYS.
 
Zu den lflags:
Diese habe ich von deinem Post einfach unter Settings -> Global Variable Editor -> lflags reinkopiert.
Die Fehler sind allerdings immernoch die gleichen.

Zu mingw32-make in der cmd:
Das läuft auch soweit durch, aber beim erstellen eines FLTK-Projektes muss man ja das Verzeichnis angeben. Da bekomme ich dann den Fehler :
The path you entered seems valid, but the wizard cant't locate the include directory.
This wizard cannot continue.

Muss ich dann selber ein "include"-Verzeichnis erstellen und die ganzen Header aus "FL" darein kopieren? Oder hast du eine idee?
 
Zu den lflags:
Diese habe ich von deinem Post einfach unter Settings -> Global Variable Editor -> lflags reinkopiert.
Die Fehler sind allerdings immernoch die gleichen.
Hast du auch nochmal ein neues Projekt angelegt? Bzw. hast du denn die Variablen überhaupt in deinem Projekt verwendet?
Zu mingw32-make in der cmd:
Das läuft auch soweit durch, aber beim erstellen eines FLTK-Projektes muss man ja das Verzeichnis angeben. Da bekomme ich dann den Fehler :
The path you entered seems valid, but the wizard cant't locate the include directory.
This wizard cannot continue.

Muss ich dann selber ein "include"-Verzeichnis erstellen und die ganzen Header aus "FL" darein kopieren? Oder hast du eine idee?
Versuch doch mal "mingw32-make install". Dann gibst du einfach das mingw Verzeichnis als FLTK Verzeichnis an.

Ansonsten könntest du auch einfach einen Symlink anlegen:
Code:
cd FLTK-Verzeichnis
mklink /d include %cd%
 
Zuletzt bearbeitet:
Also mit mingw32-make install hat es soweit funktioniert.
Nur dabei wurden die Sachen unter C:\Program Files (x86)\FLTK erstellt.
Danach habe ich ein Projekt erstellt und dieses Verzeichnis angegeben und es funktioniert. :)

Mich interesiert aber noch ob ich die "Ausgabe" bzw. das Erstellen dieses Verzeichnisses nicht direkt umleiten kann? Gibts da eine Option von mingw32-make?


Dankeschön für deine Hilfe :))
 
Also mit mingw32-make install hat es soweit funktioniert.
Nur dabei wurden die Sachen unter C:\Program Files (x86)\FLTK erstellt.
Danach habe ich ein Projekt erstellt und dieses Verzeichnis angegeben und es funktioniert. :)

Mich interesiert aber noch ob ich die "Ausgabe" bzw. das Erstellen dieses Verzeichnisses nicht direkt umleiten kann? Gibts da eine Option von mingw32-make?
Das hat nichts mit dem mingw32-make zu tun, das macht nur das was in den Makefiles steht.

Bei ./configure gibt es eine Option namens --prefix womit man das Zielverzeichnis einstellen kann.

Du könntest also einfach nochmal "./configure --prefix=/c/pfad/irgendwo" angeben und danach nochmal "mingw32-make install" aufrufen.

Dankeschön für deine Hilfe :))
Bitte. :)
 

Neue Beiträge

Zurück