[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