ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
You shouldn't link to both static and dynamic libraries. One or the other is sufficient.
In your case, instead of linking to libASICamera.a and libASICamera.so, you should just do:
link_libraries(ASICamera)
And cmake will find the appropriate static or dynamic library depending on how you're linking your executable.
Also note that if your libraries have undefined symbols the linking order matters - libraries with undefined symbols should be listed first, and the libraries which contain those symbols should be listed later.
Finally, the link_libraries()
command is pretty heavy-handed; it will cause all of your executables to be linked against every library you specify. Use target_link_libraries()
instead, and note that you can list multiple libraries in a single linking command.
Maybe try:
target_link_libraries(asi_converter_real ${catkin_LIBRARIES} pthread ASICamera usb)