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

Revision history [back]

click to hide/show revision 1
initial version

I was able to narrow down the problem: it appears that I was using the wrong headers (the ones for Boost 1.47 instead of Boost 1.56). More info (for anyone interested) can be found in my post on Stackoverflow here: http://stackoverflow.com/questions/36211108/how-to-read-demangled-symbols. To fix the problem I just copied all the headers from boost_1_56_0 folder to C:\opt\rosdeps\hydro\x64\include.

I was able to narrow down the problem: it appears that I was using the wrong headers (the ones for Boost 1.47 instead of Boost 1.56). More info (for anyone interested) can be found in my post on Stackoverflow here: http://stackoverflow.com/questions/36211108/how-to-read-demangled-symbols. To fix the problem I just copied all the headers from boost_1_56_0 folder to C:\opt\rosdeps\hydro\x64\include.

Update 1: Also, during the compilation I encountered the error in timer.cpp and wall_timer.cpp which indicated that conversion from ros::VoidConstPtr to bool was not possible. To fix the error I manually added an explicit cast to bool:

impl_->has_tracked_object_ = (bool) ops.tracked_object;

Then, I was finally able to compile everything.

I was able to narrow down the problem: it appears that I was using the wrong headers (the ones for Boost 1.47 instead of Boost 1.56). More info (for anyone interested) can be found in my post on Stackoverflow here: http://stackoverflow.com/questions/36211108/how-to-read-demangled-symbols. To fix the problem I just copied all the headers from boost_1_56_0 folder to C:\opt\rosdeps\hydro\x64\include.

Update 1: Also, during the compilation I encountered the error in timer.cpp and wall_timer.cpp which indicated that conversion from ros::VoidConstPtr to bool was not possible. To fix the error I manually added an explicit cast to bool:

impl_->has_tracked_object_ = (bool) ops.tracked_object;

Then, I was finally able to compile everything.

Update 2: You also need to include boost_chrono-mt.dll into rosdeps/libs folder (no need to add it to any of the .CMake files). It turns out that boost_date_time-mt.dll depends on it at runtime. It will save 10+ hours of debugging with Dependency Walker.

I was able to narrow down the problem: it appears that I was using the wrong headers (the ones for Boost 1.47 instead of Boost 1.56). More info (for anyone interested) can be found in my post on Stackoverflow here: http://stackoverflow.com/questions/36211108/how-to-read-demangled-symbols. To fix the problem I just copied all the headers from boost_1_56_0 folder to C:\opt\rosdeps\hydro\x64\include.

Update 1: Also, during the compilation I encountered the error in timer.cpp and wall_timer.cpp which indicated that conversion from ros::VoidConstPtr to bool was not possible. To fix the error I manually added an explicit cast to bool:

impl_->has_tracked_object_ = (bool) ops.tracked_object;

Then, I was finally able to compile everything.

Update 2: You also need to include boost_chrono-mt.dll into rosdeps/libs folder (no (just copy it there, no need to add it to any of the .CMake files). It turns out that boost_date_time-mt.dll depends on it at runtime. It will save you 10+ hours of debugging with Dependency Walker.