Bonjour,

Je suis relativement novice dans l'utilisation de Eclipse et de MinGW. Venant d'un environnement CppBuilder, je cherchais une lib ouverte pour la création simple d'IHM, j'ai découvert FLTK (donc novice également).

Eclipse est bien installé sur mon PC, j'ai pu créer sans erreur un Hello World.
FLTK semble bien installé et le ./Configure n'a pas retourné d'erreurs dans MinGW.

Par contre, lors de la création d'un programme simple qui fait appel à FLTK, j'ai une erreur de linker.

Voici le programme:
Code :
1
2
3
4
5
6
7
8
9
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
using namespace std;
 
//--------------------------------------------
int main() {
    Fl_Window win( 300,200,"Test" );
    return 0;
}
Voici l'erreur:
Code :
1
2
3
4
5
6
7
Building target: Debug/FLTKtest.exe
g++ -o Debug/FLTKtest.exe  -mwindows -lfltk -lole32 -luuid -lcomctl32 -LC:/Prog/Msys/1.0/home/Administrateur/fltk-1.3.0/lib -IC:/Prog/Msys/1.0/home/Administrateur/fltk-1.3.0 -IC:/Pro
g/Msys/1.0/home/Administrateur/fltk-1.3.0/zlib -lfltk -lfltk_forms -lfltk_gl -lfltk_images -lfltk_jpeg -lfltk_png -lfltk_z
c:/prog/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../libmingw32.a(main.o): In function `main':
C:\MinGW\msys\1.0\src\mingwrt/../mingw/main.c:73: undefined reference to `WinMain@16'
collect2: ld returned 1 exit status
make: *** [Debug/FLTKtest.exe] Error 1
Juste pour info, la ligne C:\MinGW\msys\1.0\src\mingwrt/../mingw/main.c:73 ne correspond pas à mon chemin d'installation (peut-être celui du programmeur qui a compilé le MinGW que j'ai installé).

Afin de ne pas me retourver avec "l'erreur de débutant" nommée dans ce post, j'ai donc créé mon propre makefile:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
CC=g++
FLTKDIR=C:/Prog/Msys/1.0/home/Administrateur/fltk-1.3.0
CFLAGS=-W -Wall -ansi -mwindows -DWIN32 -DUSE_OPENGL32 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
LDFLAGS=-mwindows -lfltk -lole32 -luuid -lcomctl32 -L$(FLTKDIR)/lib -I$(FLTKDIR) -I$(FLTKDIR)/zlib
LIBS=-lfltk -lfltk_forms -lfltk_gl -lfltk_images -lfltk_jpeg -lfltk_png -lfltk_z
 
SRC=scr/FLTKtest.cpp
OBJ=$(SRC:.cpp:.o)
DEPS=Debug/FLTKtest.d
EXEC=Debug/FLTKtest.exe
 
# All Target
all: $(EXEC)
 
# Tool invocations
$(EXEC): $(OBJ)
    @echo 'Building target: $@'
    $(CC) -o $@ $^ $(LDFLAGS) $(LIBS)
    @echo 'Finished building target: $@'
 
%.o: %.cpp
    @echo 'Building target: $@'
    $(CC) -o $@ -c $< $(CFLAGS)
    @echo 'Finished building target: $@'
 
# Other Targets
clean:
    -$(RM) $(DEPS)$(OBJ)$(EXEC)
    -@echo ' '
 
.PHONY: all clean dependents
.SECONDARY:
La compilation par Eclipse, ainsi que la compilation directe avec make sous MinGW, donnent la même erreur (sauf qu'Eclipse renvoie 140 undefined references provenant de libfltk.a)

Quelqu'un saurait-il m'orienter pour savoir si tout cet ensemble est bien configuré pour fonctionner ensemble, ou si je ne serais pas passé à côté de quelque chose?

Merci d'avance.
Benz