Hallo Zusammen :)
dreist eröffne ich mal einen neuen Thread, obwohl es schon einen Makefile-Katastrophen-Thread gibt, doch das ursprüngliche Problem ist gelöst.
Die Form des unten gelisteten Makefiles mag nicht schön sein, ich lerne gerade, doch es funktioniert mit Qt.
FLTK hat wenigstens eine Besonderheit auf meinem Suse 10.2, nämlich 2 Verzeichnisse, in denen alle Header doppelt zu sein scheinen.
Die in meinen Channels verfügbaren Versionen sind:
r66@linux:~/Projects/xwpe/versuch_1> smart info fltk-devel
Name: fltk-devel
Version: 1.1.7-23@i586
Installierte Größe: 4.0MB
Channel: Suse 10.2 inst-source
Name: fltk-devel
Version: 1.1.7-42.pm.1@i586
Installierte Größe: 6.0MB
Channel: Packman 3rd Party Package Repository
Installiert habe ich fltk und fltk-devel von Packman.
Und hier das Problem, das die Header wohl nicht gefunden werden können:
r66@linux:~/Projects/xwpe/versuch_1> ls
makefile-fltk makefile-qt versuch_1.cpp versuch-fltk.cpp
r66@linux:~/Projects/xwpe/versuch_1> make -f makefile-fltk
make: *** Keine Regel vorhanden, um das Target »/usr/X11R6/include/FL/FL_Window.H«,
benötigt von »versuch-fltk.o«, zu erstellen. Schluss.
r66@linux:~/Projects/xwpe/versuch_1> cat makefile-fltk
### Makefile für qt und fltk ###
### Version makefile-fltk ###
### Compiler ###
# Qt #
# CC = g++
# FLTK #
# > fltk-config --help
# [...] [--cxxflags] return flags to compile C++ using FLTK [...]
# > fltk-config --cxxflags
# -I/usr/X11R6/include -O2 -g -m32 -march=i586 -mtune=i686 -fmessage-length=0 -D_FORTIFY_SOURCE=2
CC = g++ -I/usr/X11R6/include -O2 -g -m32 -march=i586 -mtune=i686 -fmessage-length=0 -D_FORTIFY_SOURCE=2
### Config Suse 10.2 ###
X11R6_LIB = /usr/X11R6/lib
LIBDIR = /usr/lib
LIBS = -lm -lqt-mt -lXext -lX11 -lfltk
# Qt #
# SOURCE = versuch_1.cpp
# OBJECT = versuch_1.o
# TARGET = versuch_1
# QTDIR = /usr/lib/qt3
# QTDIR_INC = $(QTDIR)/include
# QTHEADERS = $(QTDIR_INC)/qapplication.h $(QTDIR_INC)/qmainwindow.h
# QTDIR_LIB = $(QTDIR)/lib
# FLTK #
SOURCE = versuch-fltk.cpp
OBJECT = versuch-fltk.o
TARGET = versuch-fltk
FLDIR_INC = /usr/X11R6/include/FL
# /usr/X11R6/include/Fl
FLHEADERS = $(FLDIR_INC)/FL_Window.H $(FLDIR_INC)/FL_Box.H
# http://www.fltk.org/doc-1.1/basics.html#3_1
# Suse 10.2
# |/usr/X11R6/include/FL |/usr/X11R6/include/Fl
# -------------------------------------------------------------------------------------------------------------------
# include <FL/Fl.H> |NO |NO
# include <FL/Fl_Window.H> |Fl_Window.h & Fl_Window.H |Fl_Window.h & Fl_Window.H
# include <FL/Fl_Box.H> |Fl_Box.h & Fl_Box.H |Fl_Box.h & Fl_Box.H
# -------------------------------------------------------------------------------------------------------------------
# libfltk /usr/lib: NO /lib: NO /usr/X11R6/lib: YES
### Qt ###
# $(TARGET): $(OBJECT)
# $(CC) -I$(QTDIR_INC) -L$(QTDIR_LIB) -L$(LIBDIR) -L$(X11R6DIR_LIB) $(LIBS) -o $(TARGET) $(OBJECT)
### FLTK ###
$(TARGET): $(OBJECT)
$(CC) -I$(FLDIR_INC) -L$(LIBDIR) -L$(X11R6DIR_LIB) $(LIBS) -o $(TARGET) $(OBJECT)
### Qt ###
# $(OBJECT): $(SOURCE) $(QTHEADERS)
# $(CC) -I$(QTDIR_INC) -c $(SOURCE)
### FLTK ###
$(OBJECT): $(SOURCE) $(FLHEADERS)
$(CC) -I$(FLDIR_INC) -c $(SOURCE)
Tippfehler will ich nicht ausschließen, als Legastheniker - Wahrnehmungsstörung bei der Zeichenerkennung - kann ich z.B. ein großes i von einem kleinen L nicht immer unterscheiden und einen angenehmen Zeichensatz mit fester Breite finde ich einfach nicht, doch den Fehler vermute ich woanders.
Weiß jemand etwas über die misteriösen Verzeichnisse der FLTK Libraries? <- PS: Manchmal kann ich auch ein y nicht von einem i unterscheiden ;D
Grüße
Ralf