[Jderobot-dev] Correcciones a librería Visionlib
Julio Guillén
julio.guillen en gmail.com
Sab Mar 3 18:09:42 CET 2012
Hola amigos. Esta semana he estado peleándome con la librería Visionlib, y
el problema era que tras compilar la librería y generar visionlib.a , al
ejecutar el Makefile de mi componente queriendo usar
linesDetection::solisAlgorithm , me daba el siguiente error:
viewer.o: In function `estratega::Viewer::color(
colorspaces::Image const&)':
viewer.cpp:(.text+0x35bf): undefined reference to
`visionLibrary::linesDetection::solisAlgorithm(_IplImage&,
std::vector<Segment2D, std::allocator<Segment2D> >*)'
collect2: ld returned 1 exit status
make: *** [estratega] Error 1
Empleando el comando nm para revisar los objetos de la librería, observé
que no aparecían los linesDetection, lo que me llevó a descubrir que el
Makefile contenía errores. Al final una solución sencilla a un problema que
me ha tenido liado unos días. Os adjunto el Makefile corregido para subirlo
al repositorio si lo estimais conveniente.
Con esta fórmula, me compila perfectamente y luego soy capaz de usar la
librería sin problema.
Saludos
JDEROBOTDIR = /usr/local
CXXFLAGS = -Wall -g -I. -I$(JDEROBOTDIR)/include/jderobot `pkg-config
--cflags opencv` `pkg-config --cflags gtkmm-2.4 libglademm-2.4 gthread-2.0`
`pkg-config --cflags gtkglextmm-1.2`
LDFLAGS = `pkg-config --libs gtkmm-2.4 libglademm-2.4 gthread-2.0`
`pkg-config --libs opencv` -lgsl -lgslcblas `pkg-config --libs
gtkglextmm-1.2`
LDADD = $(JDEROBOTDIR)/lib/jderobot/libJderobotIce.so \
$(JDEROBOTDIR)/lib/jderobot/libJderobotUtil.so \
$(JDEROBOTDIR)/lib/jderobot/libJderobotInterfaces.so \
$(JDEROBOTDIR)/lib/jderobot/libprogeo.so
all: visionlib.o geometry.o image.o linesDetection.o cvfast.o structs.o
ar r visionlib.a visionlib.o geometry.o linesDetection.o image.o
cvfast.o structs.o
ranlib visionlib.a
visionlib.o: visionlib.h
g++ -c $(CXXFLAGS) visionlib.h -o visionlib.o
geometry.o: geometry.h geometry.cpp
g++ -c $(CXXFLAGS) geometry.h geometry.cpp
image.o: image.h image.cpp
g++ -c $(CXXFLAGS) image.h image.cpp
linesDetection.o: linesDetection.h linesDetection.cpp
g++ -c $(CXXFLAGS) linesDetection.h linesDetection.cpp
cvfast.o: cvfast.cpp
g++ -c $(CXXFLAGS) cvfast.cpp -o cvfast.o
structs.o: structs.h
g++ -c $(CXXFLAGS) structs.h -o structs.o
#Clean
clean:
rm visionlib.a *.o *.gch
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20120303/3cd365e7/attachment.htm
More information about the Jde-developers
mailing list