Resolve missing symbol
- Moved body of join() to header, so that it gets included in plank_drop's translation unit at compilation time
Hi David,
I couldn't comment on your question on Gazebo Answers, but I'm fairly sure this is your problem. The way C++ translation units work means that after compilation, libPlankDrop.so
knows about the declaration of join()
, but not the implementation. That's because the body of the function is not present in the header (extra_functions.h
), which is the file that plank_drop.cc "knows about" - it's unaware of the corresponding .cc file.
Try compiling and running the - let me know if it works!
Ref: http://answers.gazebosim.org/question/21417/undefined-symbol-with-plugin/
Edited by Jordan Liviero