pcl: adding patch to compile with boost 1.56 (resolves #293)

This commit is contained in:
Lukas Bulwahn 2014-09-08 07:37:39 +02:00
parent b2818475f2
commit f16f860095
2 changed files with 79 additions and 0 deletions

View File

@ -0,0 +1,77 @@
From c2ad66f36569d64a445dbadeae197264d216d48c Mon Sep 17 00:00:00 2001
From: Sergey Alexandrov <alexandrov88@gmail.com>
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).
Upstream-Status: Backport [retrieved from upstream repository]
This patch is copy of:
https://github.com/PointCloudLibrary/pcl/commit/c2ad66f36569d64a445dbadeae197264d216d48c.patch
---
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 55eca90..7742f16 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 <boost/version.hpp>
+#if (BOOST_VERSION >= 105600)
+ typedef boost::property_tree::xml_writer_settings<std::string> xml_writer_settings;
+#else
+ typedef boost::property_tree::xml_writer_settings<char> xml_writer_settings;
+#endif
+
+
//////////////////////////////////////////////////////////////////////////////
bool
pcl::io::LZFImageWriter::saveImageBlob (const char* data,
@@ -198,9 +209,8 @@ pcl::io::LZFImageWriter::writeParameter (const double &parameter,
catch (std::exception& e)
{}
- boost::property_tree::xml_writer_settings<char> 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<char> 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<char> 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);
}

View File

@ -9,6 +9,8 @@ SRC_URI = "https://github.com/PointCloudLibrary/${PN}/archive/${P}.tar.gz"
SRC_URI[md5sum] = "e2ac2d2e72825d991c6d194f9586b5d8"
SRC_URI[sha256sum] = "a5446b4d892d0e6b080ab6b6b745faad2f2f415c6c1353b1424f6b38175c777e"
SRC_URI += "file://0001-Fix-incompatibility-with-Boost-1.56.patch"
S = "${WORKDIR}/pcl-${P}"
EXTRA_OECMAKE += "\