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

Multi packages workspace under WinROS

asked 2016-04-27 11:34:10 -0600

Fred Praca gravatar image

Hello guys,
I have a Hydro winros workspace containing three packages that are dependent.
The first one is a messages and services definition package called ros_msgs.
The second package contains several C++ abstract classes and depends on ros_msgs. It's called ros_radar.
The last one contains implementation classes and thus depend on ros_radar and transitively on ros_msgs.

My problem is that when I call winros_make, it fails after building DLLs with the following message:
NMAKE: fatal error U1073: Unable to find 'D:\Projects\Ros_project\overlay\devel\lib\ros_radar.lib

In fact, my devel folder only contains DLL for ros_radar.
Is there a special configuration parameter I forgot to use ?

As a note, the first two packages are already used under Ubuntu without any problems.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2016-04-28 07:00:55 -0600

Fred Praca gravatar image

So, after struggling for days on this topic, I think I found the solution.
This problem is related to lib generation inside CMake for Windows DLL which is something weird for a Linux developer :)
In the second package CMakeLists.txt, I just added the following

set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE)

This way, CMake generated both lib and defs files for my classes.
I was expecting a special catkin directive but I had to look on CMake side.

I hope this will help someone else.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2016-04-27 11:30:15 -0600

Seen: 638 times

Last updated: Apr 28 '16