Hi, with both clang or gcc4.7 I get this error compiling orocos-rtt 1.12.1. I think the problem is that a function called from a template is defined after the template. The workaround in gcc is specifying -fpermissive
In file included from /usr/include/boost/intrusive_ptr.hpp:16:0, from /home/dani/Projects/lucid/palBuild/orocos-rtt-1.12.1/src/DataSourceBase.hpp:43, from /home/dani/Projects/lucid/palBuild/orocos-rtt-1.12.1/src/DataSource.hpp:47, from /home/dani/Projects/lucid/palBuild/orocos-rtt-1.12.1/src/ConditionBoolDataSource.hpp:42, from /home/dani/Projects/lucid/palBuild/orocos-rtt-1.12.1/src/ConditionBoolDataSource.cpp:37: /usr/include/boost/smart_ptr/intrusive_ptr.hpp: In instantiation of ‘boost::intrusive_ptr<T>::~intrusive_ptr() [with T = RTT::DataSourceBase]’: /home/dani/Projects/lucid/palBuild/orocos-rtt-1.12.1/src/AttributeBase.hpp:83:40: required from here /usr/include/boost/smart_ptr/intrusive_ptr.hpp:101:23: error: ‘intrusive_ptr_release’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
no workaround in gcc4.7
I just realized that with -fpermissive it just workarounds some errors. Not all. I get the following error compiling /StateMachineProcessor.cpp