Giter Site home page Giter Site logo

Use c++11 instead of boost about console_bridge HOT 9 CLOSED

ros avatar ros commented on June 30, 2024
Use c++11 instead of boost

from console_bridge.

Comments (9)

scpeters avatar scpeters commented on June 30, 2024

Finding the correct version will be a challenge since neither this nor urdfdom nor urdfdom_headers create cmake version config files. Also, the cmake config file for urdfdom currently calls find_package without a version specified when searching for its dependencies (urdfdom_headers and console_bridge).

In ign-math (used by gazebo and sdformat), we have been appending the major version number to the name of the pkg-config and cmake config files. I'm not sure if that's desired in this case.

from console_bridge.

dirk-thomas avatar dirk-thomas commented on June 30, 2024

The current target platforms for ROS are defined in REP 3 (http://www.ros.org/reps/rep-0003.html). For all previous ROS releases C++03 was the minimum requirement and and that's why it can currently not use C++11.

Therefore it can only be considered for future releases. You might want to start a discussion about the minimum C++ version required for the next ROS version (k-turtle, May 2016). But please keep in mind that this implies that ROS would not be compilable anymore on platform which don't have a C++11 compatible compiler.

from console_bridge.

scpeters avatar scpeters commented on June 30, 2024

The default version of gcc in Ubuntu 12.04 (Precise) doesn't support c++11, but it is supported in 14.04 (trusty) and up. Since the minimum supported Ubuntu version for Jade is trusty, perhaps we could do it for K-turtle?

Should I start a thread on ros-users or is there a better venue?

from console_bridge.

tfoote avatar tfoote commented on June 30, 2024

I'd suggest a PR to REP 3 with a compatible proposal for kinetic and announcement of the discussion on ros-users@ to let people know the discussion is going on.

from console_bridge.

dirk-thomas avatar dirk-thomas commented on June 30, 2024

After looking briefly in the code it looks like that console_bridge is using boost only internally in cpp files and does not expose it in the headers. If the usage of C++11 gets accepted that should be easy to update.

In other cases where the types are being exposed through the API it might be significantly more effort to update if every code using the API needs to be updated to.

from console_bridge.

scpeters avatar scpeters commented on June 30, 2024

Indeed, I have started a discussion at ros/urdfdom#62 where boost shared pointers are used in the public API.

from console_bridge.

jacquelinekay avatar jacquelinekay commented on June 30, 2024

In October, the ros2 branch implemented these changes:

787c487

We've also decided that C++11 compatibility will be required for Kinetic.

So it sounds like the way forward for this issue will be easy enough.

from console_bridge.

scpeters avatar scpeters commented on June 30, 2024

@jacquelinekay thanks for the pointer to the ros2 branch. I'll add those changes to #25

from console_bridge.

scpeters avatar scpeters commented on June 30, 2024

fixed by #25

from console_bridge.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.