Welcome new user! You can search existing questions and answers without registering, but please register to post new questions and receive answers. Note that due to large amounts of spam attempts, your first three posts will be manually moderated, so please be patient.
We have moved to a new forum at http://jevois.usc.edu, please check it out. The forum at jevois.org/qa will not allow new user registrations but is maintained alive for its useful past questions and answers.

Cross-compiled module using BlobDetector : undefined symbol ?

+1 vote

Hello there,

I am trying to create a new c++ module for my JeVois A33. I want t be able to detect objects using BlobDetector and save images to microSD card when a object is detected. I took the code from ObjectTracker module (https://github.com/jevois/jevoisbase/tree/master/src/Modules/ObjectTracker) and just add some cv::imwrite inside. It compile well but when i start the new module from host or platform an error appear :

 "Error opening shared library [/jevois/modules/username/icoc_blob/icoc_blob.so]: /jevois/modules/username/icoc_blob/icoc_blob.so: undefined symbol: _ZTI12BlobDetector]"

I am struggling with it, anyone have a solution or advices ?

regards,

asked Aug 19, 2019 in Programmer Questions by opusr (520 points)

1 Answer

+1 vote
 
Best answer
did you start from the jevois sample module? If so, you need to edit your CMakeLists.txt to link against the jevoisbase library, since BlobDetector is implemented in that library.

There are some explanations in the CMakeLists.txt, please see https://github.com/jevois/samplemodule/blob/master/CMakeLists.txt

typically, you would need to uncomment the commands link_directories(), include_directories(), and add jevoisbase as a dependent library in the list in target_link_libraries()

If this does not work, please email us your source code (the whole module directory) and we will help you.
answered Aug 21, 2019 by JeVois (46,580 points)
selected Aug 25, 2019 by opusr
Thanks, this solved my problem.
...