0
$\begingroup$

Rosanswers logo

Hi,

I have a library (a server using std::thread and some other c++11 things like auto) which is compiled into mylib.a.

I want to use this library in my indigo catkin ros node. But apparently ROS is c++03 only for now.

Do I have to rewrite the library to c++03? Or can I use it as long as the ros node itself stays c++03 compatible?


Originally posted by matheusz on ROS Answers with karma: 90 on 2014-08-15

Post score: 3


Original comments

Comment by dornhege on 2014-08-15:
As far as I know they are not ABI compatible.

Comment by ahendrix on 2014-08-15:
My experience has been that basic things like the std::vector and std::string are not ABI-compatible between c++03 and c++11, so mixing code compiled by different c++ versions is a bad idea.

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

I'm getting weird linker errors when testing to build a simple catkin package with this library and c++11 enabled in the compiler. So it won't work then. Thanks for the responses.


Originally posted by matheusz with karma: 90 on 2014-08-16

This answer was ACCEPTED on the original site

Post score: 1

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.