[Makefile] Probleme de Compilation
Salut!
J'ai un gros probleme qui m'ennuie dans mon makefile.
Voila la tete de la chose
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 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:
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:
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:
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 ^^