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 ^^
Partager