Skip to content

Add support for Windows & OSX #1551

Open
@Tobias-Fischer

Description

@Tobias-Fischer

Dear mavros team,

As part of the RoboStack project, we are aiming to provide cross-platform ROS packages that can be installed via conda (see https://github.com/RoboStack/ros-noetic). We were able to successfully compile mavros on Linux, macOS & Windows.

For Windows (which I know is currently not supported by mavros), we needed quite a few patches to get mavros to compile. macOS was much easier. You can see the patches here:

  • libmavconn
  • mavlink - this includes some conda specific patches around PYHONEXECUTABLE, please ignore these
  • mavros-1 - this includes a patch that is required for both Windows and macOS
  • mavros-2 - this includes a bunch of patches for Windows specifically, and in the current state would break the other platforms (we only apply this patch on Windows).

Are you interested at all in merging these patches upstream? Most of the patches could be easily guarded by if(WIN) type statements (and most of them are already). For example, I did not find a simple equivalent for set_this_thread_name and would simply disable that on Windows. Other changes are a little more annoying - I needed to move some variables from being private/protected to public, as the Visual Studio compiler complained about trying to access these which is not allowed (I am not sure about the C++ internals, and why it works on Linux but not Windows).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions