Salut!

J'ai un gros probleme qui m'ennuie dans mon makefile.

Voila la tete de la chose

Code MAKEFILE : Sélectionner tout - Visualiser dans une fenêtre à part
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
33
34
35
36
 
 
 
CC=g++
EXEC=main
EXTRAINCLUDEPATH=-I/usr/local/Aria/include/ -I/usr/local/include/opencv -I/usr/local/include/ltilib-1.9.15 -I/home/chris/TFE/TestInterface/lib
EXTRALIBPATH=-L/usr/local/Aria/lib/ -L/usr/local/lib -L/usr/local/lib/ltilib-1.9.15
EXTRALIBS= -lAria -lArNetworking -lArAKin -lcv -lcxcore -lhighgui -lltid -lltir
 
EXPATH=/home/chris/ltilib/src
 
all : $(EXEC)
 
main : ArmUse.o Capture.o Interface.o MatrixCompute.o Robot.o Thread.o main.o
	@$(CC) ArmUse.o Capture.o Interface.o MatrixCompute.o Robot.o Thread.o main.o -o main
 
ArmUse.o: ArmUse.cpp 
	@$(CC) ArmUse.cpp -c `pkg-config gtkmm-2.4 --cflags --libs` $(EXTRAINCLUDEPATH) $(EXTRALIBPATH) $(EXTRALIBS)
 
Capture.o: Capture.cpp Capture.h Thread.h
	@$(CC) Capture.cpp -c `pkg-config gtkmm-2.4 --cflags --libs` $(EXTRAINCLUDEPATH) $(EXTRALIBPATH) $(EXTRALIBS)
 
Interface.o: Interface.cpp ArmUse.h Capture.h MatrixCompute.h Robot.h
	@$(CC) Interface.cpp -c `pkg-config gtkmm-2.4 --cflags --libs` $(EXTRAINCLUDEPATH) $(EXTRALIBPATH) $(EXTRALIBS)
 
MatrixCompute.o: MatrixCompute.cpp
	@$(CC) MatrixCompute.cpp -c `pkg-config gtkmm-2.4 --cflags --libs` $(EXTRAINCLUDEPATH) $(EXTRALIBPATH) $(EXTRALIBS)
 
Robot.o: Robot.cpp
	@$(CC) Robot.cpp -c `pkg-config gtkmm-2.4 --cflags --libs` $(EXTRAINCLUDEPATH) $(EXTRALIBPATH) $(EXTRALIBS)
 
Thread.o: Thread.cpp 
	@$(CC) Thread.cpp -c `pkg-config gtkmm-2.4 --cflags --libs` $(EXTRAINCLUDEPATH) $(EXTRALIBPATH) $(EXTRALIBS)
 
main.o: main.cpp Interface.h
	@$(CC) main.cpp -c `pkg-config gtkmm-2.4 --cflags --libs` $(EXTRAINCLUDEPATH) $(EXTRALIBPATH) $(EXTRALIBS)

L'ennui, c'est que le compilateur, il est pas content, et me dit ca :

Code compilateur : Sélectionner tout - Visualiser dans une fenêtre à part
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
33
34
35
36
37
38
39
40
41
42
 
 
chris@Valkirion:~/TFE/TestInterface$ make
g++: -lgtkmm-2.4: linker input file unused because linking not done
g++: -lgdkmm-2.4: linker input file unused because linking not done
g++: -latkmm-1.6: linker input file unused because linking not done
g++: -lgtk-x11-2.0: linker input file unused because linking not done
g++: -lpangomm-1.4: linker input file unused because linking not done
g++: -lcairomm-1.0: linker input file unused because linking not done
g++: -lglibmm-2.4: linker input file unused because linking not done
g++: -lsigc-2.0: linker input file unused because linking not done
g++: -lgdk-x11-2.0: linker input file unused because linking not done
g++: -latk-1.0: linker input file unused because linking not done
g++: -lgdk_pixbuf-2.0: linker input file unused because linking not done
g++: -lm: linker input file unused because linking not done
g++: -lpangocairo-1.0: linker input file unused because linking not done
g++: -lfontconfig: linker input file unused because linking not done
g++: -lXext: linker input file unused because linking not done
g++: -lXrender: linker input file unused because linking not done
g++: -lXinerama: linker input file unused because linking not done
g++: -lXi: linker input file unused because linking not done
g++: -lXrandr: linker input file unused because linking not done
g++: -lXcursor: linker input file unused because linking not done
g++: -lXfixes: linker input file unused because linking not done
g++: -lpango-1.0: linker input file unused because linking not done
g++: -lcairo: linker input file unused because linking not done
g++: -lX11: linker input file unused because linking not done
g++: -lgobject-2.0: linker input file unused because linking not done
g++: -lgmodule-2.0: linker input file unused because linking not done
g++: -ldl: linker input file unused because linking not done
g++: -lglib-2.0: linker input file unused because linking not done
g++: -lAria: linker input file unused because linking not done
g++: -lArNetworking: linker input file unused because linking not done
g++: -lArAKin: linker input file unused because linking not done
g++: -lcv: linker input file unused because linking not done
g++: -lcxcore: linker input file unused because linking not done
g++: -lhighgui: linker input file unused because linking not done
g++: -lltid: linker input file unused because linking not done
g++: -lltir: linker input file unused because linking not done
Capture.cpp: In member function ‘std::string Capture::getText(int)’:
Capture.cpp:101: error: aggregate ‘std::ostringstream oss’ has incomplete type and cannot be defined
make: *** [Capture.o] Erreur 1

J'ai donc un fait un fichier principal, main, qui contient toute les autres classes, qui sont comme suit pour l'idée

Code dans le capture.h : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
 
#include <cv.h>
#include <highgui.h>
#include <stdio.h>
#include <gtkmm.h>
#include <string>
#include <fstream>
 
#include "Thread.h"
 
blabla code

Code dans le .cpp : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
#include "Capture.h"
 
/*
 * Constructor. 
 *
 */
Capture::Capture(Gtk::Image* picture) : 
							frame(),
							capture(),
							keep(true),
							image()
{
	image=picture;
}
 
reste du blabla

j'ai déja retenté de changé le makefile, mais je ne comprends pas pourquoi le lien ne se fait pas au niveau des librairies. La version avec juste les .cpp marchait sans probleme, c'est juste en tentant de le retransformé en orienté objet.

voila, merci pour un eventuel coup de main ^^