在 OSX 上编译 rosbag_storage 的问题
Issues compiling rosbag_storage on OSX
使用 this tutorial 在 OSX 上编译 Ros (Jade),我在 rosbag_storage
和 运行 ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release
时收到以下错误:
ros/ros_catkin_ws/src/ros_comm/rosbag_storage/src/buffer.cpp:71:5: error: use of undeclared identifier 'assert'
assert(buffer_);
然后是一堆类似的错误:
/usr/local/include/boost/smart_ptr/shared_ptr.hpp:916:9: error: use of undeclared identifier 'assert'
BOOST_ASSERT( deleter_.use_count() <= 1 );
那是从哪里来的?
看起来它来自于与 GStreamer 的冲突,就像 this issue 中一样。只需删除 /Library/Frameworks/GStreamer.framework/Headers/assert.h
就足以解决问题:
mv /Library/Frameworks/GStreamer.framework/Headers/assert.h /Library/Frameworks/GStreamer.framework/Headers/assert.h.bak
使用 this tutorial 在 OSX 上编译 Ros (Jade),我在 rosbag_storage
和 运行 ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release
时收到以下错误:
ros/ros_catkin_ws/src/ros_comm/rosbag_storage/src/buffer.cpp:71:5: error: use of undeclared identifier 'assert' assert(buffer_);
然后是一堆类似的错误:
/usr/local/include/boost/smart_ptr/shared_ptr.hpp:916:9: error: use of undeclared identifier 'assert' BOOST_ASSERT( deleter_.use_count() <= 1 );
那是从哪里来的?
看起来它来自于与 GStreamer 的冲突,就像 this issue 中一样。只需删除 /Library/Frameworks/GStreamer.framework/Headers/assert.h
就足以解决问题:
mv /Library/Frameworks/GStreamer.framework/Headers/assert.h /Library/Frameworks/GStreamer.framework/Headers/assert.h.bak