[ros-users] linking shared library

Morgan Quigley mquigley at cs.stanford.edu
Tue Jun 1 19:47:43 UTC 2010


Hi Dan,

You need to declare that package B exports a library in its manifest:
http://www.ros.org/wiki/Manifest

Cheers,
Morgan

On Tue, Jun 1, 2010 at 12:40 PM, Dan Lazewatsky
<lazewatskyd at cse.wustl.edu> wrote:
> Hi everyone,
> I have a stack with a few packages, an one of the packages (let's say
> package A) needs to link a shared library from one of the other
> packages (package B), but I'm having trouble to get rosmake/cmake look
> in the right place. If I try to call any function in the so from B, I
> get "undefined reference to `SomeFunctionFromB()"
>
> Here's the CMakeLists.txt from A:
>
> cmake_minimum_required(VERSION 2.4.6)
> include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
>
> rosbuild_init()
>
> set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
> set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
>
> rosbuild_add_executable(${PROJECT_NAME} src/main.cc)
> target_link_libraries(${PROJECT_NAME} B)
>
> Any suggestions?
>
> Thanks,
> -Dan
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
>



More information about the ros-users mailing list