ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Ok, finally I can solve the problem and I learned some new points which I did not attend before as an essential point.

1) catkin_package should always call before add_library. In most usual packages it is not important but when you want to generate a shared library it will be important as I understood. The fact is that in this case when I put add_library before catkin_package the so file created in build directory. So, the other packages cannot find that library. But when I put catkin_package before add_library the so file created in devel/lib. So, it will be available to use by others.

2) About undefined symbol in nm command result, the fact is that it is not exactly mean that there are no definition for these library and lack of real link. The great point which I learned was the fact that it means these functions need some libraries which is not available locally and will be link later from other places. Actually, ldd command helped me to understand this. ldd result was really great and showed all proper path for libraries.

So, now it works.