Hi all,

To begin, I'm not certain this is the proper place to start this question, but I believe this to be a linux-linker related error rather than a code based one. I've also searched far and wide for a solution online, but others have solved the problem simply include -lblob in the build which I have already done without success.

I'm using cvblobslib with openCV, and as per their instructions I've compiled their code to create libblob.a. I've copied this into /usr/local/lib and executed 'sudo ldconfig'. This should have registered the library.

Here are the relevent snippets from the make file:

LIB=-lblob -L/home/tc/opencv/release/lib -lopencv_core -lopencv_imgproc -lopencv_highgui
INC=-I/home/tc/opencv/release/include -I/home/tc/cvblobslib
CC=g++
CFLAGS=-Wall -Wno-unknown-pragmas
OBJECTS = (long list of .o files)

robot.o: $(OBJECTS)
    $(CC) $(INC) $(LIB) $(CFLAGS) $(OBJECTS) -o robot
...
(rest of directions to build individual objects)

The errors are:
undefined reference to 'CBlobResult::GetBlob(int)'
repeated for other functions inside cvblobslib.

Any advice as to where to proceed from here? How can I find out more about what the linker is doing? Did it successfully registered libblob.a, is it trying to use libblob.a in an unusual way?

Thanks in advance.

Fixed the problem with an inelegant solution. I added the .cpp files to my own build directives instead of using the libblob.a provided.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.