From c2ad66f36569d64a445dbadeae197264d216d48c Mon Sep 17 00:00:00 2001 From: Sergey Alexandrov Date: Sat, 23 Aug 2014 13:03:37 +0200 Subject: [PATCH] Fix incompatibility with Boost 1.56 The fix is based on the proposal of Andrew McMahon (@McDamon, #864). --- io/src/lzf_image_io.cpp | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/io/src/lzf_image_io.cpp b/io/src/lzf_image_io.cpp index 55eca905b76..7742f169165 100644 --- a/io/src/lzf_image_io.cpp +++ b/io/src/lzf_image_io.cpp @@ -59,6 +59,17 @@ #define LZF_HEADER_SIZE 37 + +// The signature of boost::property_tree::xml_parser::write_xml() changed in Boost 1.56 +// See https://github.com/PointCloudLibrary/pcl/issues/864 +#include +#if (BOOST_VERSION >= 105600) + typedef boost::property_tree::xml_writer_settings xml_writer_settings; +#else + typedef boost::property_tree::xml_writer_settings xml_writer_settings; +#endif + + ////////////////////////////////////////////////////////////////////////////// bool pcl::io::LZFImageWriter::saveImageBlob (const char* data, @@ -198,9 +209,8 @@ pcl::io::LZFImageWriter::writeParameter (const double ¶meter, catch (std::exception& e) {} - boost::property_tree::xml_writer_settings settings ('\t', 1); pt.put (tag, parameter); - write_xml (filename, pt, std::locale (), settings); + write_xml (filename, pt, std::locale (), xml_writer_settings ('\t', 1)); return (true); } @@ -218,13 +228,12 @@ pcl::io::LZFDepth16ImageWriter::writeParameters (const pcl::io::CameraParameters catch (std::exception& e) {} - boost::property_tree::xml_writer_settings settings ('\t', 1); pt.put ("depth.focal_length_x", parameters.focal_length_x); pt.put ("depth.focal_length_y", parameters.focal_length_y); pt.put ("depth.principal_point_x", parameters.principal_point_x); pt.put ("depth.principal_point_y", parameters.principal_point_y); pt.put ("depth.z_multiplication_factor", z_multiplication_factor_); - write_xml (filename, pt, std::locale (), settings); + write_xml (filename, pt, std::locale (), xml_writer_settings ('\t', 1)); return (true); } @@ -279,12 +288,11 @@ pcl::io::LZFRGB24ImageWriter::writeParameters (const pcl::io::CameraParameters & catch (std::exception& e) {} - boost::property_tree::xml_writer_settings settings ('\t', 1); pt.put ("rgb.focal_length_x", parameters.focal_length_x); pt.put ("rgb.focal_length_y", parameters.focal_length_y); pt.put ("rgb.principal_point_x", parameters.principal_point_x); pt.put ("rgb.principal_point_y", parameters.principal_point_y); - write_xml (filename, pt, std::locale (), settings); + write_xml (filename, pt, std::locale (), xml_writer_settings ('\t', 1)); return (true); }