Olena-patches
Threads by month
- ----- 2025 -----
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
November 2011
- 5 participants
- 178 discussions

22 Nov '11
* apps/papers/levillain.09.ismm/graph.cc,
* doc/examples/tuto4_genericity_and_algorithms.cc,
* mln/binarization/threshold.hh,
* mln/fun/v2b/all.hh,
* mln/fun/v2b/essential.hh,
* mln/world/binary_2d/enlarge.hh,
* tests/labeling/n_max.cc: Update includes and use of threshold
function.
* mln/fun/v2b/threshold.hh: Replaced...
* mln/fun/v2b/threshold_ge.hh,
* mln/fun/v2b/threshold_le.hh: ... by these files.
* tests/unit_test/unit-tests.mk: Regen.
---
milena/ChangeLog | 20 ++++++++++++++++++++
milena/apps/papers/levillain.09.ismm/graph.cc | 7 ++++---
.../examples/tuto4_genericity_and_algorithms.cc | 5 ++---
milena/mln/binarization/threshold.hh | 7 ++++---
milena/mln/fun/v2b/all.hh | 6 ++++--
milena/mln/fun/v2b/essential.hh | 6 ++++--
.../mln/fun/v2b/{threshold.hh => threshold_ge.hh} | 16 ++++++++--------
.../mln/fun/v2b/{threshold.hh => threshold_le.hh} | 16 ++++++++--------
milena/mln/world/binary_2d/enlarge.hh | 6 ++++--
milena/tests/labeling/n_max.cc | 4 ++--
milena/tests/unit_test/unit-tests.mk | 10 ++++++++--
11 files changed, 68 insertions(+), 35 deletions(-)
copy milena/mln/fun/v2b/{threshold.hh => threshold_ge.hh} (86%)
rename milena/mln/fun/v2b/{threshold.hh => threshold_le.hh} (85%)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 363bf08..56fd2dc 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,3 +1,23 @@
+2011-11-22 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Add two variants of the threshold function.
+
+ * apps/papers/levillain.09.ismm/graph.cc,
+ * doc/examples/tuto4_genericity_and_algorithms.cc,
+ * mln/binarization/threshold.hh,
+ * mln/fun/v2b/all.hh,
+ * mln/fun/v2b/essential.hh,
+ * mln/world/binary_2d/enlarge.hh,
+ * tests/labeling/n_max.cc: Update includes and use of threshold
+ function.
+
+ * mln/fun/v2b/threshold.hh: Replaced...
+
+ * mln/fun/v2b/threshold_ge.hh,
+ * mln/fun/v2b/threshold_le.hh: ... by these files.
+
+ * tests/unit_test/unit-tests.mk: Regen.
+
2011-11-21 Guillaume Lazzara <z(a)lrde.epita.fr>
* mln/geom/crop_without_localization.hh: Fix preconditions.
diff --git a/milena/apps/papers/levillain.09.ismm/graph.cc b/milena/apps/papers/levillain.09.ismm/graph.cc
index 507bbc5..bf37df2 100644
--- a/milena/apps/papers/levillain.09.ismm/graph.cc
+++ b/milena/apps/papers/levillain.09.ismm/graph.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -37,7 +38,7 @@
#include <mln/debug/println.hh>
#include <mln/draw/line.hh>
#include <mln/pw/all.hh>
-#include <mln/binarization/threshold.hh>
+#include <mln/binarization/threshold_ge.hh>
#include <mln/value/int_u8.hh>
#include <mln/value/label_8.hh>
@@ -313,7 +314,7 @@ make_complex_image(const mln::image2d<mln::value::int_u8>& input)
unsigned nlabels;
image2d<unsigned> label =
- labeling::blobs(mln::binarization::threshold(input, 1), c4(), nlabels);
+ labeling::blobs(mln::binarization::threshold_ge(input, 1), c4(), nlabels);
std::cout << "n seeds = " << nlabels << std::endl;
{
diff --git a/milena/doc/examples/tuto4_genericity_and_algorithms.cc b/milena/doc/examples/tuto4_genericity_and_algorithms.cc
index 78237a4..dcc57a3 100644
--- a/milena/doc/examples/tuto4_genericity_and_algorithms.cc
+++ b/milena/doc/examples/tuto4_genericity_and_algorithms.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2011 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -49,8 +50,6 @@
#include <mln/pw/all.hh>
-#include <mln/binarization/threshold.hh>
-
#include <mln/labeling/colorize.hh>
#include <mln/labeling/blobs.hh>
diff --git a/milena/mln/binarization/threshold.hh b/milena/mln/binarization/threshold.hh
index 23acbe0..f29bb7c 100644
--- a/milena/mln/binarization/threshold.hh
+++ b/milena/mln/binarization/threshold.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -31,7 +32,7 @@
/// \brief Threshold an image.
# include <mln/binarization/binarization.hh>
-# include <mln/fun/v2b/threshold.hh>
+# include <mln/fun/v2b/threshold_ge.hh>
namespace mln
@@ -69,7 +70,7 @@ namespace mln
mln_ch_value(I, bool) output(exact(input).domain());
// FIXME : threshold value should be a percentage.
- fun::v2b::threshold< mln_value(I) > f(threshold_value);
+ fun::v2b::threshold_ge< mln_value(I) > f(threshold_value);
output = mln::binarization::binarization(exact(input), f);
diff --git a/milena/mln/fun/v2b/all.hh b/milena/mln/fun/v2b/all.hh
index 00aede2..b138f56 100644
--- a/milena/mln/fun/v2b/all.hh
+++ b/milena/mln/fun/v2b/all.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -45,7 +46,8 @@ namespace mln
# include <mln/fun/v2b/lnot.hh>
-# include <mln/fun/v2b/threshold.hh>
+# include <mln/fun/v2b/threshold_le.hh>
+# include <mln/fun/v2b/threshold_ge.hh>
#endif // ! MLN_FUN_V2B_ALL_HH
diff --git a/milena/mln/fun/v2b/essential.hh b/milena/mln/fun/v2b/essential.hh
index 0f21bc6..7e77a4b 100644
--- a/milena/mln/fun/v2b/essential.hh
+++ b/milena/mln/fun/v2b/essential.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -31,6 +32,7 @@
* \brief File that includes essential functions from point to value.
*/
-# include <mln/fun/v2b/threshold.hh>
+# include <mln/fun/v2b/threshold_ge.hh>
+# include <mln/fun/v2b/threshold_le.hh>
#endif // ! MLN_FUN_V2B_ESSENTIAL_HH
diff --git a/milena/mln/fun/v2b/threshold.hh b/milena/mln/fun/v2b/threshold_ge.hh
similarity index 86%
copy from milena/mln/fun/v2b/threshold.hh
copy to milena/mln/fun/v2b/threshold_ge.hh
index 5a8e8e9..c5fef9e 100644
--- a/milena/mln/fun/v2b/threshold.hh
+++ b/milena/mln/fun/v2b/threshold_ge.hh
@@ -24,8 +24,8 @@
// exception does not however invalidate any other reasons why the
// executable file might be covered by the GNU General Public License.
-#ifndef MLN_FUN_V2B_THRESHOLD_HH
-# define MLN_FUN_V2B_THRESHOLD_HH
+#ifndef MLN_FUN_V2B_THRESHOLD_GE_HH
+# define MLN_FUN_V2B_THRESHOLD_GE_HH
/// \file
///
@@ -46,12 +46,12 @@ namespace mln
/// Threshold function.
/// f(v) = (v >= threshold).
template <typename V>
- struct threshold : public Function_v2b< threshold<V> >
+ struct threshold_ge : public Function_v2b< threshold_ge<V> >
{
typedef bool result;
bool operator()(const V& v) const;
- threshold(const V& a);
+ threshold_ge(const V& a);
V a;
};
@@ -60,7 +60,7 @@ namespace mln
template <typename V>
inline
- threshold<V>::threshold(const V& a)
+ threshold_ge<V>::threshold_ge(const V& a)
: a(a)
{
}
@@ -68,12 +68,12 @@ namespace mln
template <typename V>
inline
bool
- threshold<V>::operator()(const V& v) const
+ threshold_ge<V>::operator()(const V& v) const
{
// Here the test seems to be inversed compared to the usual
// use. Indeed, we want to preserve the following convention:
// True for foreground and False for background.
- return v <= a;
+ return v >= a;
}
# endif // ! MLN_INCLUDE_ONLY
@@ -85,4 +85,4 @@ namespace mln
} // end of namespace mln
-#endif // ! MLN_FUN_V2B_THRESHOLD_HH
+#endif // ! MLN_FUN_V2B_THRESHOLD_GE_HH
diff --git a/milena/mln/fun/v2b/threshold.hh b/milena/mln/fun/v2b/threshold_le.hh
similarity index 85%
rename from milena/mln/fun/v2b/threshold.hh
rename to milena/mln/fun/v2b/threshold_le.hh
index 5a8e8e9..21964c8 100644
--- a/milena/mln/fun/v2b/threshold.hh
+++ b/milena/mln/fun/v2b/threshold_le.hh
@@ -24,8 +24,8 @@
// exception does not however invalidate any other reasons why the
// executable file might be covered by the GNU General Public License.
-#ifndef MLN_FUN_V2B_THRESHOLD_HH
-# define MLN_FUN_V2B_THRESHOLD_HH
+#ifndef MLN_FUN_V2B_THRESHOLD_LE_HH
+# define MLN_FUN_V2B_THRESHOLD_LE_HH
/// \file
///
@@ -44,14 +44,14 @@ namespace mln
{
/// Threshold function.
- /// f(v) = (v >= threshold).
+ /// f(v) = (v <= threshold).
template <typename V>
- struct threshold : public Function_v2b< threshold<V> >
+ struct threshold_le : public Function_v2b< threshold_le<V> >
{
typedef bool result;
bool operator()(const V& v) const;
- threshold(const V& a);
+ threshold_le(const V& a);
V a;
};
@@ -60,7 +60,7 @@ namespace mln
template <typename V>
inline
- threshold<V>::threshold(const V& a)
+ threshold_le<V>::threshold_le(const V& a)
: a(a)
{
}
@@ -68,7 +68,7 @@ namespace mln
template <typename V>
inline
bool
- threshold<V>::operator()(const V& v) const
+ threshold_le<V>::operator()(const V& v) const
{
// Here the test seems to be inversed compared to the usual
// use. Indeed, we want to preserve the following convention:
@@ -85,4 +85,4 @@ namespace mln
} // end of namespace mln
-#endif // ! MLN_FUN_V2B_THRESHOLD_HH
+#endif // ! MLN_FUN_V2B_THRESHOLD_LE_HH
diff --git a/milena/mln/world/binary_2d/enlarge.hh b/milena/mln/world/binary_2d/enlarge.hh
index da546e1..4381eb4 100644
--- a/milena/mln/world/binary_2d/enlarge.hh
+++ b/milena/mln/world/binary_2d/enlarge.hh
@@ -41,7 +41,7 @@
# include <mln/value/int_u8.hh>
# include <mln/fun/p2v/ternary.hh>
-# include <mln/fun/v2b/threshold.hh>
+# include <mln/fun/v2b/threshold_ge.hh>
# include <mln/data/transform.hh>
@@ -55,6 +55,7 @@
# include <mln/core/routine/duplicate.hh>
+#include <mln/debug/println.hh>
namespace mln
{
@@ -292,8 +293,9 @@ namespace mln
do_enlarge_bool(const I& input, unsigned n)
{
mln_ch_value(I,value::int_u8) tmp = do_enlarge_gl(input, n);
+ debug::println(tmp);
I output
- = data::transform(tmp, fun::v2b::threshold<value::int_u8>(150));
+ = data::transform(tmp, fun::v2b::threshold_ge<value::int_u8>(160));
return output;
}
diff --git a/milena/tests/labeling/n_max.cc b/milena/tests/labeling/n_max.cc
index 0eba6cd..1b70a7e 100644
--- a/milena/tests/labeling/n_max.cc
+++ b/milena/tests/labeling/n_max.cc
@@ -32,7 +32,7 @@
#include <mln/labeling/compute.hh>
#include <mln/labeling/n_max.hh>
-#include <mln/fun/v2b/threshold.hh>
+#include <mln/fun/v2b/threshold_le.hh>
#include <mln/data/transform.hh>
#include <mln/accu/math/count.hh>
@@ -49,7 +49,7 @@ int main()
image2d<int_u8> lena = io::pgm::load<int_u8>(MLN_IMG_DIR "/tiny.pgm");
- image2d<bool> threshold = data::transform(lena, fun::v2b::threshold<int_u8>(100));
+ image2d<bool> threshold = data::transform(lena, fun::v2b::threshold_le<int_u8>(100));
label_8 nlabels;
image2d<label_8> labels = labeling::flat_zones(threshold, c4(), nlabels);
accu::math::count<int_u8> a_;
diff --git a/milena/tests/unit_test/unit-tests.mk b/milena/tests/unit_test/unit-tests.mk
index 2519bd6..3a14188 100644
--- a/milena/tests/unit_test/unit-tests.mk
+++ b/milena/tests/unit_test/unit-tests.mk
@@ -652,7 +652,8 @@ mln_fun_unary_param \
mln_fun_v2b_all \
mln_fun_v2b_essential \
mln_fun_v2b_lnot \
-mln_fun_v2b_threshold \
+mln_fun_v2b_threshold_ge \
+mln_fun_v2b_threshold_le \
mln_fun_v2i_all \
mln_fun_v2i_index_of_value \
mln_fun_v2v_abs \
@@ -720,6 +721,8 @@ mln_geom_all \
mln_geom_bbox \
mln_geom_chamfer \
mln_geom_complex_geometry \
+mln_geom_crop \
+mln_geom_crop_without_localization \
mln_geom_delta \
mln_geom_essential \
mln_geom_horizontal_symmetry \
@@ -1979,7 +1982,8 @@ mln_fun_unary_param_SOURCES = mln_fun_unary_param.cc
mln_fun_v2b_all_SOURCES = mln_fun_v2b_all.cc
mln_fun_v2b_essential_SOURCES = mln_fun_v2b_essential.cc
mln_fun_v2b_lnot_SOURCES = mln_fun_v2b_lnot.cc
-mln_fun_v2b_threshold_SOURCES = mln_fun_v2b_threshold.cc
+mln_fun_v2b_threshold_ge_SOURCES = mln_fun_v2b_threshold_ge.cc
+mln_fun_v2b_threshold_le_SOURCES = mln_fun_v2b_threshold_le.cc
mln_fun_v2i_all_SOURCES = mln_fun_v2i_all.cc
mln_fun_v2i_index_of_value_SOURCES = mln_fun_v2i_index_of_value.cc
mln_fun_v2v_abs_SOURCES = mln_fun_v2v_abs.cc
@@ -2047,6 +2051,8 @@ mln_geom_all_SOURCES = mln_geom_all.cc
mln_geom_bbox_SOURCES = mln_geom_bbox.cc
mln_geom_chamfer_SOURCES = mln_geom_chamfer.cc
mln_geom_complex_geometry_SOURCES = mln_geom_complex_geometry.cc
+mln_geom_crop_SOURCES = mln_geom_crop.cc
+mln_geom_crop_without_localization_SOURCES = mln_geom_crop_without_localization.cc
mln_geom_delta_SOURCES = mln_geom_delta.cc
mln_geom_essential_SOURCES = mln_geom_essential.cc
mln_geom_horizontal_symmetry_SOURCES = mln_geom_horizontal_symmetry.cc
--
1.7.2.5
1
0
#246: Test
---------------------+------------------------------------------------------
Reporter: lazzara | Owner: Olena Team
Type: defect | Status: new
Priority: major | Milestone:
Component: Milena | Version: 1.0
Keywords: |
---------------------+------------------------------------------------------
Ticket for testing mail notifications.
--
Ticket URL: <https://trac.lrde.org/olena/ticket/246>
Olena <http://olena.lrde.epita.fr>
Olena, a software platform dedicated to image processing.
1
1
#245: Compilation issues with Tesseract 3.01
-----------------------------+----------------------------------------------
Reporter: Dmitry Mikhirev | Owner: lazzara
Type: defect | Status: new
Priority: critical | Milestone:
Component: Scribo | Version: 2.0
Keywords: |
-----------------------------+----------------------------------------------
I tried to build Olena 2.0 with Tesseract 3.01, but it fails. It seems
that tesseract API and even library names were changed. Now there is only
libtesseract library instead of libtesseract_api and libtesseract_full.
System : Mandriva Cooker 2012
--
Ticket URL: <https://trac.lrde.org/olena/ticket/245>
Olena <http://olena.lrde.epita.fr>
Olena, a software platform dedicated to image processing.
1
2
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Olena, a generic and efficient image processing platform".
The branch unstable/scribo has been updated
via b77d84adbfa931b4b6685b5069ad15b8cd447056 (commit)
via ec7416a0b0021f1b53482c04a5854cdb8c182832 (commit)
from b340c526ae583ce7be9ea28b63bf98f25aae1add (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
b77d84a mln/geom/crop_without_localization.hh: Fix preconditions.
ec7416a README: update requirements information.
-----------------------------------------------------------------------
Summary of changes:
milena/ChangeLog | 4 ++++
milena/mln/geom/crop_without_localization.hh | 3 ++-
scribo/ChangeLog | 4 ++++
scribo/README | 6 +++++-
4 files changed, 15 insertions(+), 2 deletions(-)
hooks/post-receive
--
Olena, a generic and efficient image processing platform
1
0

olena-2.0-10-g93ca680 Fix compilation issues with g++ 4.6.1 and clang++.
by Guillaume Lazzara 21 Nov '11
by Guillaume Lazzara 21 Nov '11
21 Nov '11
* mln/topo/center_only_iter.hh,
* mln/topo/face.hh,
* mln/trait/images.hh,
* mln/convert/from_to.hxx,
* mln/core/image/dmorph/sub_image.hh,
* mln/core/routine/init.hxx,
* mln/algebra/vec.hh: Make declaration and forward declarations
consistent.
* mln/canvas/browsing/backdiagonal2d.hh,
* mln/canvas/browsing/breadth_first_search.hh,
* mln/canvas/browsing/depth_first_search.hh,
* mln/canvas/browsing/diagonal2d.hh,
* mln/canvas/browsing/directional.hh,
* mln/canvas/browsing/fwd.hh,
* mln/canvas/browsing/hyper_directional.hh,
* mln/canvas/browsing/snake_fwd.hh,
* mln/canvas/browsing/snake_generic.hh,
* mln/canvas/browsing/snake_vert.hh,
* mln/fun/v2v/hsl_to_rgb.hh,
* mln/literal/black.hh,
* mln/literal/colors.hh,
* mln/literal/white.hh: Add a default constructor for global
variable types.
* mln/canvas/browsing/internal/graph_first_search.hh: Avoid a
warning for an unused variable.
* mln/data/was.median.hh: Fix type of the reference.
---
milena/ChangeLog | 35 +++++
milena/mln/algebra/vec.hh | 2 +-
milena/mln/canvas/browsing/backdiagonal2d.hh | 12 +-
milena/mln/canvas/browsing/breadth_first_search.hh | 13 ++-
milena/mln/canvas/browsing/depth_first_search.hh | 12 ++-
milena/mln/canvas/browsing/diagonal2d.hh | 8 +
.../canvas/browsing/dir_struct_elt_incr_update.hh | 11 ++-
milena/mln/canvas/browsing/directional.hh | 12 ++-
milena/mln/canvas/browsing/fwd.hh | 11 ++-
milena/mln/canvas/browsing/hyper_directional.hh | 11 ++-
.../canvas/browsing/internal/graph_first_search.hh | 1 +
milena/mln/canvas/browsing/snake_fwd.hh | 11 +-
milena/mln/canvas/browsing/snake_generic.hh | 11 +-
milena/mln/canvas/browsing/snake_vert.hh | 5 +-
milena/mln/convert/from_to.hxx | 2 +-
milena/mln/core/image/dmorph/sub_image.hh | 2 +-
milena/mln/core/routine/init.hxx | 2 +-
milena/mln/data/was.median.hh | 8 +-
milena/mln/fun/v2v/hsl_to_rgb.hh | 11 +-
milena/mln/literal/black.hh | 14 ++-
milena/mln/literal/colors.hh | 156 ++++++++++++++++----
milena/mln/literal/white.hh | 12 ++-
milena/mln/topo/center_only_iter.hh | 2 +-
milena/mln/topo/face.hh | 2 +-
milena/mln/trait/images.hh | 2 +-
25 files changed, 303 insertions(+), 65 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 7e5855b..724f344 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,3 +1,38 @@
+2011-11-21 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Fix compilation issues with g++ 4.6.1 and clang++.
+
+ * mln/topo/center_only_iter.hh,
+ * mln/topo/face.hh,
+ * mln/trait/images.hh,
+ * mln/convert/from_to.hxx,
+ * mln/core/image/dmorph/sub_image.hh,
+ * mln/core/routine/init.hxx,
+ * mln/algebra/vec.hh: Make declaration and forward declarations
+ consistent.
+
+ * mln/canvas/browsing/backdiagonal2d.hh,
+ * mln/canvas/browsing/breadth_first_search.hh,
+ * mln/canvas/browsing/depth_first_search.hh,
+ * mln/canvas/browsing/diagonal2d.hh,
+ * mln/canvas/browsing/dir_struct_elt_incr_update.hh,
+ * mln/canvas/browsing/directional.hh,
+ * mln/canvas/browsing/fwd.hh,
+ * mln/canvas/browsing/hyper_directional.hh,
+ * mln/canvas/browsing/snake_fwd.hh,
+ * mln/canvas/browsing/snake_generic.hh,
+ * mln/canvas/browsing/snake_vert.hh,
+ * mln/fun/v2v/hsl_to_rgb.hh,
+ * mln/literal/black.hh,
+ * mln/literal/colors.hh,
+ * mln/literal/white.hh: Add a default constructor for global
+ variable types.
+
+ * mln/canvas/browsing/internal/graph_first_search.hh: Avoid a
+ warning for an unused variable.
+
+ * mln/data/was.median.hh: Fix type of the reference.
+
2011-10-04 Roland Levillain <roland(a)lrde.epita.fr>
Handle the case of filling an empty border.
diff --git a/milena/mln/algebra/vec.hh b/milena/mln/algebra/vec.hh
index dc526ec..bbe23c8 100644
--- a/milena/mln/algebra/vec.hh
+++ b/milena/mln/algebra/vec.hh
@@ -56,7 +56,7 @@ namespace mln
// Forward declarations.
namespace algebra {
template <unsigned n, typename T> class vec;
- template <unsigned d, typename C> struct h_vec;
+ template <unsigned d, typename C> class h_vec;
template <unsigned n, unsigned m, typename T> class mat;
}
diff --git a/milena/mln/canvas/browsing/backdiagonal2d.hh b/milena/mln/canvas/browsing/backdiagonal2d.hh
index bd680aa..0ec455e 100644
--- a/milena/mln/canvas/browsing/backdiagonal2d.hh
+++ b/milena/mln/canvas/browsing/backdiagonal2d.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2010 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -82,6 +82,10 @@ namespace mln
*/
struct backdiagonal2d_t : public Browsing< backdiagonal2d_t >
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ backdiagonal2d_t();
+
template <typename F>
void operator()(F& f) const;
};
@@ -92,13 +96,15 @@ namespace mln
# ifndef MLN_INCLUDE_ONLY
-
# ifndef MLN_WO_GLOBAL_VARS
const backdiagonal2d_t backdiagonal2d;
# endif // ! MLN_WO_GLOBAL_VARS
+ backdiagonal2d_t::backdiagonal2d_t()
+ {
+ }
template <typename F>
inline
diff --git a/milena/mln/canvas/browsing/breadth_first_search.hh b/milena/mln/canvas/browsing/breadth_first_search.hh
index 6f5327e..a637114 100644
--- a/milena/mln/canvas/browsing/breadth_first_search.hh
+++ b/milena/mln/canvas/browsing/breadth_first_search.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2011 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -78,7 +79,11 @@ namespace mln
/// Breadth-first search algorithm for graph, on vertices.
struct breadth_first_search_t :
public internal::graph_first_search_t<breadth_first_search_t, std::queue>
- {};
+ {
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ breadth_first_search_t();
+ };
extern const breadth_first_search_t breadth_first_search;
@@ -88,6 +93,10 @@ namespace mln
const breadth_first_search_t breadth_first_search;
+ breadth_first_search_t::breadth_first_search_t()
+ {
+ }
+
# endif // ! MLN_INCLUDE_ONLY
} // end of namespace mln::canvas::browsing
diff --git a/milena/mln/canvas/browsing/depth_first_search.hh b/milena/mln/canvas/browsing/depth_first_search.hh
index 3d76633..ecb2c08 100644
--- a/milena/mln/canvas/browsing/depth_first_search.hh
+++ b/milena/mln/canvas/browsing/depth_first_search.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2010 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2010, 2011 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -79,7 +79,11 @@ namespace mln
/// Breadth-first search algorithm for graph, on vertices.
struct depth_first_search_t :
public internal::graph_first_search_t<depth_first_search_t, std::stack>
- {};
+ {
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ depth_first_search_t();
+ };
extern const depth_first_search_t depth_first_search;
@@ -93,6 +97,10 @@ namespace mln
# endif // ! MLN_WO_GLOBAL_VARS
+ depth_first_search_t::depth_first_search_t()
+ {
+ }
+
# endif // ! MLN_INCLUDE_ONLY
} // end of namespace mln::canvas::browsing
diff --git a/milena/mln/canvas/browsing/diagonal2d.hh b/milena/mln/canvas/browsing/diagonal2d.hh
index 056375b..246f930 100644
--- a/milena/mln/canvas/browsing/diagonal2d.hh
+++ b/milena/mln/canvas/browsing/diagonal2d.hh
@@ -81,6 +81,10 @@ namespace mln
*/
struct diagonal2d_t : public Browsing< diagonal2d_t >
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ diagonal2d_t();
+
template <typename F>
void operator()(F& f) const;
};
@@ -95,6 +99,10 @@ namespace mln
# endif // ! MLN_WO_GLOBAL_VARS
+ diagonal2d_t::diagonal2d_t()
+ {
+ }
+
template <typename F>
inline
diff --git a/milena/mln/canvas/browsing/dir_struct_elt_incr_update.hh b/milena/mln/canvas/browsing/dir_struct_elt_incr_update.hh
index 4c334ec..0037229 100644
--- a/milena/mln/canvas/browsing/dir_struct_elt_incr_update.hh
+++ b/milena/mln/canvas/browsing/dir_struct_elt_incr_update.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -85,6 +86,10 @@ namespace mln
*/
struct dir_struct_elt_incr_update_t : public Browsing< dir_struct_elt_incr_update_t >
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ dir_struct_elt_incr_update_t();
+
template <typename F>
void operator()(F& f) const;
};
@@ -95,6 +100,10 @@ namespace mln
const dir_struct_elt_incr_update_t dir_struct_elt_incr_update;
+ dir_struct_elt_incr_update_t::dir_struct_elt_incr_update_t()
+ {
+ }
+
template <typename F>
inline
void
diff --git a/milena/mln/canvas/browsing/directional.hh b/milena/mln/canvas/browsing/directional.hh
index 91b6ea6..8931cad 100644
--- a/milena/mln/canvas/browsing/directional.hh
+++ b/milena/mln/canvas/browsing/directional.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2010 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -89,6 +89,10 @@ namespace mln
*/
struct directional_t : public Browsing< directional_t >
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ directional_t();
+
template <typename F>
void operator()(F& f) const;
};
@@ -103,6 +107,10 @@ namespace mln
# endif // ! MLN_WO_GLOBAL_VARS
+ directional_t::directional_t()
+ {
+ }
+
template <typename F>
inline
void
diff --git a/milena/mln/canvas/browsing/fwd.hh b/milena/mln/canvas/browsing/fwd.hh
index f89e75b..86c9bf8 100644
--- a/milena/mln/canvas/browsing/fwd.hh
+++ b/milena/mln/canvas/browsing/fwd.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -71,6 +72,10 @@ namespace mln
*/
struct fwd_t : public Browsing< fwd_t >
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ fwd_t();
+
template <typename F>
void operator()(F& f) const;
};
@@ -81,6 +86,10 @@ namespace mln
const fwd_t fwd;
+ fwd_t::fwd_t()
+ {
+ }
+
template <typename F>
inline
void
diff --git a/milena/mln/canvas/browsing/hyper_directional.hh b/milena/mln/canvas/browsing/hyper_directional.hh
index 6ad9a47..65bb794 100644
--- a/milena/mln/canvas/browsing/hyper_directional.hh
+++ b/milena/mln/canvas/browsing/hyper_directional.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -73,6 +74,10 @@ namespace mln
*/
struct hyper_directional_t : public Browsing< hyper_directional_t >
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ hyper_directional_t();
+
template <typename F>
void operator()(F& f) const;
};
@@ -83,6 +88,10 @@ namespace mln
const hyper_directional_t hyper_directional;
+ hyper_directional_t::hyper_directional_t()
+ {
+ }
+
template <typename F>
inline
void
diff --git a/milena/mln/canvas/browsing/internal/graph_first_search.hh b/milena/mln/canvas/browsing/internal/graph_first_search.hh
index 1bc64c6..8d74fa4 100644
--- a/milena/mln/canvas/browsing/internal/graph_first_search.hh
+++ b/milena/mln/canvas/browsing/internal/graph_first_search.hh
@@ -128,6 +128,7 @@ namespace mln
util::vertex_id_t
next(const S& stack)
{
+ (void) stack;
mln_assertion(0);
/// Not defined yet!
// mlc_abort(S)::check();
diff --git a/milena/mln/canvas/browsing/snake_fwd.hh b/milena/mln/canvas/browsing/snake_fwd.hh
index ca6ecf2..06b72df 100644
--- a/milena/mln/canvas/browsing/snake_fwd.hh
+++ b/milena/mln/canvas/browsing/snake_fwd.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2010 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -83,6 +83,10 @@ namespace mln
struct snake_fwd_t : public Browsing< snake_fwd_t >
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ snake_fwd_t();
+
template <typename F>
void operator()(F& f) const;
};
@@ -97,6 +101,9 @@ namespace mln
# endif // ! MLN_WO_GLOBAL_VARS
+ snake_fwd_t::snake_fwd_t()
+ {
+ }
template <typename F>
inline
diff --git a/milena/mln/canvas/browsing/snake_generic.hh b/milena/mln/canvas/browsing/snake_generic.hh
index c4c1ae8..af9f799 100644
--- a/milena/mln/canvas/browsing/snake_generic.hh
+++ b/milena/mln/canvas/browsing/snake_generic.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2010 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -76,6 +76,10 @@ namespace mln
struct snake_generic_t : public Browsing< snake_generic_t >
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ snake_generic_t();
+
template <typename F>
void operator()(F& f) const;
@@ -91,6 +95,9 @@ namespace mln
# endif // ! MLN_WO_GLOBAL_VARS
+ snake_generic_t::snake_generic_t()
+ {
+ }
template <typename F>
inline
diff --git a/milena/mln/canvas/browsing/snake_vert.hh b/milena/mln/canvas/browsing/snake_vert.hh
index 9e46c9c..416786c 100644
--- a/milena/mln/canvas/browsing/snake_vert.hh
+++ b/milena/mln/canvas/browsing/snake_vert.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -90,7 +91,7 @@ namespace mln
# ifndef MLN_INCLUDE_ONLY
- const snake_vert_t snake_vert;
+ const snake_vert_t snake_vert = snake_vert_t();
template <typename F>
inline
diff --git a/milena/mln/convert/from_to.hxx b/milena/mln/convert/from_to.hxx
index e99c3f6..a0e22df 100644
--- a/milena/mln/convert/from_to.hxx
+++ b/milena/mln/convert/from_to.hxx
@@ -69,7 +69,7 @@ namespace mln
namespace algebra {
template <unsigned n, typename T> class vec;
- template <unsigned d, typename C> struct h_vec;
+ template <unsigned d, typename C> class h_vec;
}
namespace fun {
diff --git a/milena/mln/core/image/dmorph/sub_image.hh b/milena/mln/core/image/dmorph/sub_image.hh
index 088142d..d266ce6 100644
--- a/milena/mln/core/image/dmorph/sub_image.hh
+++ b/milena/mln/core/image/dmorph/sub_image.hh
@@ -44,7 +44,7 @@ namespace mln
// Forward declaration.
- template <typename I, typename S> struct sub_image;
+ template <typename I, typename S> class sub_image;
namespace internal
diff --git a/milena/mln/core/routine/init.hxx b/milena/mln/core/routine/init.hxx
index 5cc6d12..1ff8067 100644
--- a/milena/mln/core/routine/init.hxx
+++ b/milena/mln/core/routine/init.hxx
@@ -37,7 +37,7 @@ namespace mln
// Forward declarations.
namespace fun { namespace i2v { template <typename T> class array; } }
- namespace pw { namespace internal { template <typename F, typename S, typename E> struct image_base; } }
+ namespace pw { namespace internal { template <typename F, typename S, typename E> class image_base; } }
namespace pw { template <typename F, typename S> class image; }
template <typename I, typename F> struct image_if;
diff --git a/milena/mln/data/was.median.hh b/milena/mln/data/was.median.hh
index 2e470d5..73ee247 100644
--- a/milena/mln/data/was.median.hh
+++ b/milena/mln/data/was.median.hh
@@ -97,8 +97,8 @@ namespace mln
med.take(input(q));
}
- int& row = p.row();
- int& col = p.col();
+ def::coord& row = p.row();
+ def::coord& col = p.col();
bool fwd = true;
mln_assertion(p.col() == min_col);
@@ -155,8 +155,8 @@ namespace mln
const unsigned half = win.length() / 2;
point2d p;
- int& row = p.row();
- int& col = p.col();
+ def::coord& row = p.row();
+ def::coord& col = p.col();
accu::stat::median_h<mln_vset(I)> med(input.values());
diff --git a/milena/mln/fun/v2v/hsl_to_rgb.hh b/milena/mln/fun/v2v/hsl_to_rgb.hh
index 7d66d31..dbedcf4 100644
--- a/milena/mln/fun/v2v/hsl_to_rgb.hh
+++ b/milena/mln/fun/v2v/hsl_to_rgb.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -71,6 +71,9 @@ namespace mln
{
typedef T_rgb result;
+
+ f_hsl_to_rgb_();
+
template <typename T_hsl>
T_rgb operator()(const T_hsl& hsl) const;
@@ -94,6 +97,10 @@ namespace mln
/// \}
# endif // !MLN_WO_GLOBAL_VARS
+ template <typename T_rgb>
+ f_hsl_to_rgb_<T_rgb>::f_hsl_to_rgb_()
+ {
+ }
/// This method implements the conversion from HSL to RGB as described by
/// Max K. Agoston in `Computer Graphics and Geometric Modeling:
diff --git a/milena/mln/literal/black.hh b/milena/mln/literal/black.hh
index ab05cae..6ffbe33 100644
--- a/milena/mln/literal/black.hh
+++ b/milena/mln/literal/black.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -42,6 +42,10 @@ namespace mln
/// Type of literal black.
struct black_t : public Literal<black_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ black_t();
+
# ifdef MLN_NEW_VALUE_TYPES
operator float() const;
operator double() const;
@@ -50,17 +54,21 @@ namespace mln
/// Literal black.
- extern const black_t& black;
+ extern const black_t black;
# ifndef MLN_INCLUDE_ONLY
# ifndef MLN_WO_GLOBAL_VARS
- const black_t& black = black_t();
+ const black_t black;
# endif
+ black_t::black_t()
+ {
+ }
+
# ifdef MLN_NEW_VALUE_TYPES
inline
black_t::operator float() const
diff --git a/milena/mln/literal/colors.hh b/milena/mln/literal/colors.hh
index 099d2c7..52c05d0 100644
--- a/milena/mln/literal/colors.hh
+++ b/milena/mln/literal/colors.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -42,146 +42,244 @@ namespace mln
/// Type of literal red.
struct red_t : public Literal<red_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ red_t();
};
/// Type of literal green.
struct green_t : public Literal<green_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ green_t();
};
/// Type of literal blue.
struct blue_t : public Literal<blue_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ blue_t();
};
/// Type of literal brown.
struct brown_t : public Literal<brown_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ brown_t();
};
/// Type of literal lime.
struct lime_t : public Literal<lime_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ lime_t();
};
/// Type of literal orange.
struct orange_t : public Literal<orange_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ orange_t();
};
/// Type of literal pink.
struct pink_t : public Literal<pink_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ pink_t();
};
/// Type of literal purple.
struct purple_t : public Literal<purple_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ purple_t();
};
/// Type of literal teal.
struct teal_t : public Literal<teal_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ teal_t();
};
/// Type of literal violet.
struct violet_t : public Literal<violet_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ violet_t();
};
/// Type of literal cyan.
struct cyan_t : public Literal<cyan_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ cyan_t();
};
/// Type of literal magenta.
struct magenta_t : public Literal<magenta_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ magenta_t();
};
/// Type of literal yellow.
struct yellow_t : public Literal<yellow_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ yellow_t();
};
/// Type of literal olive.
struct olive_t : public Literal<olive_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ olive_t();
};
/// Literal red.
- extern const red_t& red;
+ extern const red_t red;
/// Literal green.
- extern const green_t& green;
+ extern const green_t green;
/// Literal blue.
- extern const blue_t& blue;
+ extern const blue_t blue;
/// Literal brown.
- extern const brown_t& brown;
+ extern const brown_t brown;
/// Literal lime.
- extern const lime_t& lime;
+ extern const lime_t lime;
/// Literal orange.
- extern const orange_t& orange;
+ extern const orange_t orange;
/// Literal pink.
- extern const pink_t& pink;
+ extern const pink_t pink;
/// Literal purple.
- extern const purple_t& purple;
+ extern const purple_t purple;
/// Literal teal.
- extern const teal_t& teal;
+ extern const teal_t teal;
/// Literal violet.
- extern const violet_t& violet;
+ extern const violet_t violet;
/// Literal cyan.
- extern const cyan_t& cyan;
+ extern const cyan_t cyan;
/// Literal magenta.
- extern const magenta_t& magenta;
+ extern const magenta_t magenta;
/// Literal yellow.
- extern const yellow_t& yellow;
+ extern const yellow_t yellow;
/// Literal olive.
- extern const olive_t& olive;
+ extern const olive_t olive;
# ifndef MLN_INCLUDE_ONLY
+ red_t::red_t()
+ {
+ }
+
+ green_t::green_t()
+ {
+ }
+
+ blue_t::blue_t()
+ {
+ }
+
+ brown_t::brown_t()
+ {
+ }
+
+ lime_t::lime_t()
+ {
+ }
+
+ orange_t::orange_t()
+ {
+ }
+
+ pink_t::pink_t()
+ {
+ }
+
+ purple_t::purple_t()
+ {
+ }
+
+ teal_t::teal_t()
+ {
+ }
+
+ violet_t::violet_t()
+ {
+ }
+
+ cyan_t::cyan_t()
+ {
+ }
+
+ magenta_t::magenta_t()
+ {
+ }
+
+ yellow_t::yellow_t()
+ {
+ }
+
+ olive_t::olive_t()
+ {
+ }
+
# ifndef MLN_WO_GLOBAL_VARS
- const red_t& red = red_t();
+ const red_t red;
- const green_t& green = green_t();
+ const green_t green;
- const blue_t& blue = blue_t();
+ const blue_t blue;
- const brown_t& brown = brown_t();
+ const brown_t brown;
- const lime_t& lime = lime_t();
+ const lime_t lime;
- const orange_t& orange = orange_t();
+ const orange_t orange;
- const pink_t& pink = pink_t();
+ const pink_t pink;
- const purple_t& purple = purple_t();
+ const purple_t purple;
- const teal_t& teal = teal_t();
+ const teal_t teal;
- const violet_t& violet = violet_t();
+ const violet_t violet;
- const cyan_t& cyan = cyan_t();
+ const cyan_t cyan;
- const magenta_t& magenta = magenta_t();
+ const magenta_t magenta;
- const yellow_t& yellow = yellow_t();
+ const yellow_t yellow;
- const olive_t& olive = olive_t();
+ const olive_t olive;
# endif
diff --git a/milena/mln/literal/white.hh b/milena/mln/literal/white.hh
index 9f19f3a..620a73a 100644
--- a/milena/mln/literal/white.hh
+++ b/milena/mln/literal/white.hh
@@ -42,6 +42,10 @@ namespace mln
/// Type of literal white.
struct white_t : public Literal<white_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ white_t();
+
# ifdef MLN_NEW_VALUE_TYPES
operator float() const;
operator double() const;
@@ -50,17 +54,21 @@ namespace mln
/// Literal white.
- extern const white_t& white;
+ extern const white_t white;
# ifndef MLN_INCLUDE_ONLY
# ifndef MLN_WO_GLOBAL_VARS
- const white_t& white = white_t();
+ const white_t white;
# endif
+ white_t::white_t()
+ {
+ }
+
# ifdef MLN_NEW_VALUE_TYPES
inline
white_t::operator float() const
diff --git a/milena/mln/topo/center_only_iter.hh b/milena/mln/topo/center_only_iter.hh
index 9d52099..5e695ce 100644
--- a/milena/mln/topo/center_only_iter.hh
+++ b/milena/mln/topo/center_only_iter.hh
@@ -45,7 +45,7 @@ namespace mln
{
// Forward declaration.
- template <unsigned D> struct face;
+ template <unsigned D> class face;
/*----------------------------.
diff --git a/milena/mln/topo/face.hh b/milena/mln/topo/face.hh
index c9b58b0..1ea6a2b 100644
--- a/milena/mln/topo/face.hh
+++ b/milena/mln/topo/face.hh
@@ -49,7 +49,7 @@ namespace mln
template <unsigned D> class complex;
template <unsigned N, unsigned D> class n_face;
template <unsigned N, unsigned D> class face_data;
- template <unsigned N> struct algebraic_face;
+ template <unsigned N> class algebraic_face;
/*-------.
diff --git a/milena/mln/trait/images.hh b/milena/mln/trait/images.hh
index d8e80b0..2ae9299 100644
--- a/milena/mln/trait/images.hh
+++ b/milena/mln/trait/images.hh
@@ -118,7 +118,7 @@ namespace mln
// Morphers.
template <typename I, typename F> struct image_if_base;
template <typename I, typename D> struct decorated_image;
- template <typename I, typename S> struct sub_image;
+ template <typename I, typename S> class sub_image;
template <typename I> class safe_image;
template <typename T, typename I> struct cast_image_;
namespace value { template <unsigned n, typename I> struct stack_image; }
--
1.7.2.5
1
0

olena-2.0-21-g027bd1b Fix compilation issues with g++ 4.6.1 and clang++.
by Guillaume Lazzara 21 Nov '11
by Guillaume Lazzara 21 Nov '11
21 Nov '11
* mln/topo/center_only_iter.hh,
* mln/topo/face.hh,
* mln/trait/images.hh,
* mln/convert/from_to.hxx,
* mln/core/image/dmorph/sub_image.hh,
* mln/core/routine/init.hxx,
* mln/algebra/vec.hh: Make declaration and forward declarations
consistent.
* mln/canvas/browsing/backdiagonal2d.hh,
* mln/canvas/browsing/breadth_first_search.hh,
* mln/canvas/browsing/depth_first_search.hh,
* mln/canvas/browsing/diagonal2d.hh,
* mln/canvas/browsing/directional.hh,
* mln/canvas/browsing/fwd.hh,
* mln/canvas/browsing/hyper_directional.hh,
* mln/canvas/browsing/snake_fwd.hh,
* mln/canvas/browsing/snake_generic.hh,
* mln/canvas/browsing/snake_vert.hh,
* mln/fun/v2v/hsl_to_rgb.hh,
* mln/literal/black.hh,
* mln/literal/colors.hh,
* mln/literal/white.hh: Add a default constructor for global
variable types.
* mln/canvas/browsing/internal/graph_first_search.hh: Avoid a
warning for an unused variable.
* mln/data/was.median.hh: Fix type of the reference.
---
milena/ChangeLog | 35 +++++
milena/mln/algebra/vec.hh | 2 +-
milena/mln/canvas/browsing/backdiagonal2d.hh | 12 +-
milena/mln/canvas/browsing/breadth_first_search.hh | 13 ++-
milena/mln/canvas/browsing/depth_first_search.hh | 12 ++-
milena/mln/canvas/browsing/diagonal2d.hh | 8 +
.../canvas/browsing/dir_struct_elt_incr_update.hh | 11 ++-
milena/mln/canvas/browsing/directional.hh | 12 ++-
milena/mln/canvas/browsing/fwd.hh | 11 ++-
milena/mln/canvas/browsing/hyper_directional.hh | 11 ++-
.../canvas/browsing/internal/graph_first_search.hh | 1 +
milena/mln/canvas/browsing/snake_fwd.hh | 11 +-
milena/mln/canvas/browsing/snake_generic.hh | 11 +-
milena/mln/canvas/browsing/snake_vert.hh | 5 +-
milena/mln/convert/from_to.hxx | 2 +-
milena/mln/core/image/dmorph/sub_image.hh | 2 +-
milena/mln/core/routine/init.hxx | 2 +-
milena/mln/data/was.median.hh | 8 +-
milena/mln/fun/v2v/hsl_to_rgb.hh | 11 +-
milena/mln/literal/black.hh | 14 ++-
milena/mln/literal/colors.hh | 156 ++++++++++++++++----
milena/mln/literal/white.hh | 12 ++-
milena/mln/topo/center_only_iter.hh | 2 +-
milena/mln/topo/face.hh | 2 +-
milena/mln/trait/images.hh | 2 +-
25 files changed, 303 insertions(+), 65 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index dcc6da5..363bf08 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -2,6 +2,41 @@
* mln/geom/crop_without_localization.hh: Fix preconditions.
+2011-11-21 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Fix compilation issues with g++ 4.6.1 and clang++.
+
+ * mln/topo/center_only_iter.hh,
+ * mln/topo/face.hh,
+ * mln/trait/images.hh,
+ * mln/convert/from_to.hxx,
+ * mln/core/image/dmorph/sub_image.hh,
+ * mln/core/routine/init.hxx,
+ * mln/algebra/vec.hh: Make declaration and forward declarations
+ consistent.
+
+ * mln/canvas/browsing/backdiagonal2d.hh,
+ * mln/canvas/browsing/breadth_first_search.hh,
+ * mln/canvas/browsing/depth_first_search.hh,
+ * mln/canvas/browsing/diagonal2d.hh,
+ * mln/canvas/browsing/dir_struct_elt_incr_update.hh,
+ * mln/canvas/browsing/directional.hh,
+ * mln/canvas/browsing/fwd.hh,
+ * mln/canvas/browsing/hyper_directional.hh,
+ * mln/canvas/browsing/snake_fwd.hh,
+ * mln/canvas/browsing/snake_generic.hh,
+ * mln/canvas/browsing/snake_vert.hh,
+ * mln/fun/v2v/hsl_to_rgb.hh,
+ * mln/literal/black.hh,
+ * mln/literal/colors.hh,
+ * mln/literal/white.hh: Add a default constructor for global
+ variable types.
+
+ * mln/canvas/browsing/internal/graph_first_search.hh: Avoid a
+ warning for an unused variable.
+
+ * mln/data/was.median.hh: Fix type of the reference.
+
2011-11-16 Guillaume Lazzara <z(a)lrde.epita.fr>
Fix compilation Warnings with latest g++ versions.
diff --git a/milena/mln/algebra/vec.hh b/milena/mln/algebra/vec.hh
index dc526ec..bbe23c8 100644
--- a/milena/mln/algebra/vec.hh
+++ b/milena/mln/algebra/vec.hh
@@ -56,7 +56,7 @@ namespace mln
// Forward declarations.
namespace algebra {
template <unsigned n, typename T> class vec;
- template <unsigned d, typename C> struct h_vec;
+ template <unsigned d, typename C> class h_vec;
template <unsigned n, unsigned m, typename T> class mat;
}
diff --git a/milena/mln/canvas/browsing/backdiagonal2d.hh b/milena/mln/canvas/browsing/backdiagonal2d.hh
index bd680aa..0ec455e 100644
--- a/milena/mln/canvas/browsing/backdiagonal2d.hh
+++ b/milena/mln/canvas/browsing/backdiagonal2d.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2010 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -82,6 +82,10 @@ namespace mln
*/
struct backdiagonal2d_t : public Browsing< backdiagonal2d_t >
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ backdiagonal2d_t();
+
template <typename F>
void operator()(F& f) const;
};
@@ -92,13 +96,15 @@ namespace mln
# ifndef MLN_INCLUDE_ONLY
-
# ifndef MLN_WO_GLOBAL_VARS
const backdiagonal2d_t backdiagonal2d;
# endif // ! MLN_WO_GLOBAL_VARS
+ backdiagonal2d_t::backdiagonal2d_t()
+ {
+ }
template <typename F>
inline
diff --git a/milena/mln/canvas/browsing/breadth_first_search.hh b/milena/mln/canvas/browsing/breadth_first_search.hh
index 6f5327e..a637114 100644
--- a/milena/mln/canvas/browsing/breadth_first_search.hh
+++ b/milena/mln/canvas/browsing/breadth_first_search.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2011 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -78,7 +79,11 @@ namespace mln
/// Breadth-first search algorithm for graph, on vertices.
struct breadth_first_search_t :
public internal::graph_first_search_t<breadth_first_search_t, std::queue>
- {};
+ {
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ breadth_first_search_t();
+ };
extern const breadth_first_search_t breadth_first_search;
@@ -88,6 +93,10 @@ namespace mln
const breadth_first_search_t breadth_first_search;
+ breadth_first_search_t::breadth_first_search_t()
+ {
+ }
+
# endif // ! MLN_INCLUDE_ONLY
} // end of namespace mln::canvas::browsing
diff --git a/milena/mln/canvas/browsing/depth_first_search.hh b/milena/mln/canvas/browsing/depth_first_search.hh
index 3d76633..ecb2c08 100644
--- a/milena/mln/canvas/browsing/depth_first_search.hh
+++ b/milena/mln/canvas/browsing/depth_first_search.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2010 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2010, 2011 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -79,7 +79,11 @@ namespace mln
/// Breadth-first search algorithm for graph, on vertices.
struct depth_first_search_t :
public internal::graph_first_search_t<depth_first_search_t, std::stack>
- {};
+ {
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ depth_first_search_t();
+ };
extern const depth_first_search_t depth_first_search;
@@ -93,6 +97,10 @@ namespace mln
# endif // ! MLN_WO_GLOBAL_VARS
+ depth_first_search_t::depth_first_search_t()
+ {
+ }
+
# endif // ! MLN_INCLUDE_ONLY
} // end of namespace mln::canvas::browsing
diff --git a/milena/mln/canvas/browsing/diagonal2d.hh b/milena/mln/canvas/browsing/diagonal2d.hh
index 7840362..8324795 100644
--- a/milena/mln/canvas/browsing/diagonal2d.hh
+++ b/milena/mln/canvas/browsing/diagonal2d.hh
@@ -81,6 +81,10 @@ namespace mln
*/
struct diagonal2d_t : public Browsing< diagonal2d_t >
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ diagonal2d_t();
+
template <typename F>
void operator()(F& f) const;
};
@@ -95,6 +99,10 @@ namespace mln
# endif // ! MLN_WO_GLOBAL_VARS
+ diagonal2d_t::diagonal2d_t()
+ {
+ }
+
template <typename F>
inline
diff --git a/milena/mln/canvas/browsing/dir_struct_elt_incr_update.hh b/milena/mln/canvas/browsing/dir_struct_elt_incr_update.hh
index 4c334ec..0037229 100644
--- a/milena/mln/canvas/browsing/dir_struct_elt_incr_update.hh
+++ b/milena/mln/canvas/browsing/dir_struct_elt_incr_update.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -85,6 +86,10 @@ namespace mln
*/
struct dir_struct_elt_incr_update_t : public Browsing< dir_struct_elt_incr_update_t >
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ dir_struct_elt_incr_update_t();
+
template <typename F>
void operator()(F& f) const;
};
@@ -95,6 +100,10 @@ namespace mln
const dir_struct_elt_incr_update_t dir_struct_elt_incr_update;
+ dir_struct_elt_incr_update_t::dir_struct_elt_incr_update_t()
+ {
+ }
+
template <typename F>
inline
void
diff --git a/milena/mln/canvas/browsing/directional.hh b/milena/mln/canvas/browsing/directional.hh
index 91b6ea6..8931cad 100644
--- a/milena/mln/canvas/browsing/directional.hh
+++ b/milena/mln/canvas/browsing/directional.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2010 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -89,6 +89,10 @@ namespace mln
*/
struct directional_t : public Browsing< directional_t >
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ directional_t();
+
template <typename F>
void operator()(F& f) const;
};
@@ -103,6 +107,10 @@ namespace mln
# endif // ! MLN_WO_GLOBAL_VARS
+ directional_t::directional_t()
+ {
+ }
+
template <typename F>
inline
void
diff --git a/milena/mln/canvas/browsing/fwd.hh b/milena/mln/canvas/browsing/fwd.hh
index f89e75b..86c9bf8 100644
--- a/milena/mln/canvas/browsing/fwd.hh
+++ b/milena/mln/canvas/browsing/fwd.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -71,6 +72,10 @@ namespace mln
*/
struct fwd_t : public Browsing< fwd_t >
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ fwd_t();
+
template <typename F>
void operator()(F& f) const;
};
@@ -81,6 +86,10 @@ namespace mln
const fwd_t fwd;
+ fwd_t::fwd_t()
+ {
+ }
+
template <typename F>
inline
void
diff --git a/milena/mln/canvas/browsing/hyper_directional.hh b/milena/mln/canvas/browsing/hyper_directional.hh
index 6ad9a47..65bb794 100644
--- a/milena/mln/canvas/browsing/hyper_directional.hh
+++ b/milena/mln/canvas/browsing/hyper_directional.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -73,6 +74,10 @@ namespace mln
*/
struct hyper_directional_t : public Browsing< hyper_directional_t >
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ hyper_directional_t();
+
template <typename F>
void operator()(F& f) const;
};
@@ -83,6 +88,10 @@ namespace mln
const hyper_directional_t hyper_directional;
+ hyper_directional_t::hyper_directional_t()
+ {
+ }
+
template <typename F>
inline
void
diff --git a/milena/mln/canvas/browsing/internal/graph_first_search.hh b/milena/mln/canvas/browsing/internal/graph_first_search.hh
index 1bc64c6..8d74fa4 100644
--- a/milena/mln/canvas/browsing/internal/graph_first_search.hh
+++ b/milena/mln/canvas/browsing/internal/graph_first_search.hh
@@ -128,6 +128,7 @@ namespace mln
util::vertex_id_t
next(const S& stack)
{
+ (void) stack;
mln_assertion(0);
/// Not defined yet!
// mlc_abort(S)::check();
diff --git a/milena/mln/canvas/browsing/snake_fwd.hh b/milena/mln/canvas/browsing/snake_fwd.hh
index ca6ecf2..06b72df 100644
--- a/milena/mln/canvas/browsing/snake_fwd.hh
+++ b/milena/mln/canvas/browsing/snake_fwd.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2010 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -83,6 +83,10 @@ namespace mln
struct snake_fwd_t : public Browsing< snake_fwd_t >
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ snake_fwd_t();
+
template <typename F>
void operator()(F& f) const;
};
@@ -97,6 +101,9 @@ namespace mln
# endif // ! MLN_WO_GLOBAL_VARS
+ snake_fwd_t::snake_fwd_t()
+ {
+ }
template <typename F>
inline
diff --git a/milena/mln/canvas/browsing/snake_generic.hh b/milena/mln/canvas/browsing/snake_generic.hh
index c4c1ae8..af9f799 100644
--- a/milena/mln/canvas/browsing/snake_generic.hh
+++ b/milena/mln/canvas/browsing/snake_generic.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2010 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -76,6 +76,10 @@ namespace mln
struct snake_generic_t : public Browsing< snake_generic_t >
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ snake_generic_t();
+
template <typename F>
void operator()(F& f) const;
@@ -91,6 +95,9 @@ namespace mln
# endif // ! MLN_WO_GLOBAL_VARS
+ snake_generic_t::snake_generic_t()
+ {
+ }
template <typename F>
inline
diff --git a/milena/mln/canvas/browsing/snake_vert.hh b/milena/mln/canvas/browsing/snake_vert.hh
index 9e46c9c..416786c 100644
--- a/milena/mln/canvas/browsing/snake_vert.hh
+++ b/milena/mln/canvas/browsing/snake_vert.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -90,7 +91,7 @@ namespace mln
# ifndef MLN_INCLUDE_ONLY
- const snake_vert_t snake_vert;
+ const snake_vert_t snake_vert = snake_vert_t();
template <typename F>
inline
diff --git a/milena/mln/convert/from_to.hxx b/milena/mln/convert/from_to.hxx
index e99c3f6..a0e22df 100644
--- a/milena/mln/convert/from_to.hxx
+++ b/milena/mln/convert/from_to.hxx
@@ -69,7 +69,7 @@ namespace mln
namespace algebra {
template <unsigned n, typename T> class vec;
- template <unsigned d, typename C> struct h_vec;
+ template <unsigned d, typename C> class h_vec;
}
namespace fun {
diff --git a/milena/mln/core/image/dmorph/sub_image.hh b/milena/mln/core/image/dmorph/sub_image.hh
index 088142d..d266ce6 100644
--- a/milena/mln/core/image/dmorph/sub_image.hh
+++ b/milena/mln/core/image/dmorph/sub_image.hh
@@ -44,7 +44,7 @@ namespace mln
// Forward declaration.
- template <typename I, typename S> struct sub_image;
+ template <typename I, typename S> class sub_image;
namespace internal
diff --git a/milena/mln/core/routine/init.hxx b/milena/mln/core/routine/init.hxx
index 5cc6d12..1ff8067 100644
--- a/milena/mln/core/routine/init.hxx
+++ b/milena/mln/core/routine/init.hxx
@@ -37,7 +37,7 @@ namespace mln
// Forward declarations.
namespace fun { namespace i2v { template <typename T> class array; } }
- namespace pw { namespace internal { template <typename F, typename S, typename E> struct image_base; } }
+ namespace pw { namespace internal { template <typename F, typename S, typename E> class image_base; } }
namespace pw { template <typename F, typename S> class image; }
template <typename I, typename F> struct image_if;
diff --git a/milena/mln/data/was.median.hh b/milena/mln/data/was.median.hh
index 2e470d5..73ee247 100644
--- a/milena/mln/data/was.median.hh
+++ b/milena/mln/data/was.median.hh
@@ -97,8 +97,8 @@ namespace mln
med.take(input(q));
}
- int& row = p.row();
- int& col = p.col();
+ def::coord& row = p.row();
+ def::coord& col = p.col();
bool fwd = true;
mln_assertion(p.col() == min_col);
@@ -155,8 +155,8 @@ namespace mln
const unsigned half = win.length() / 2;
point2d p;
- int& row = p.row();
- int& col = p.col();
+ def::coord& row = p.row();
+ def::coord& col = p.col();
accu::stat::median_h<mln_vset(I)> med(input.values());
diff --git a/milena/mln/fun/v2v/hsl_to_rgb.hh b/milena/mln/fun/v2v/hsl_to_rgb.hh
index 7d66d31..dbedcf4 100644
--- a/milena/mln/fun/v2v/hsl_to_rgb.hh
+++ b/milena/mln/fun/v2v/hsl_to_rgb.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -71,6 +71,9 @@ namespace mln
{
typedef T_rgb result;
+
+ f_hsl_to_rgb_();
+
template <typename T_hsl>
T_rgb operator()(const T_hsl& hsl) const;
@@ -94,6 +97,10 @@ namespace mln
/// \}
# endif // !MLN_WO_GLOBAL_VARS
+ template <typename T_rgb>
+ f_hsl_to_rgb_<T_rgb>::f_hsl_to_rgb_()
+ {
+ }
/// This method implements the conversion from HSL to RGB as described by
/// Max K. Agoston in `Computer Graphics and Geometric Modeling:
diff --git a/milena/mln/literal/black.hh b/milena/mln/literal/black.hh
index ab05cae..6ffbe33 100644
--- a/milena/mln/literal/black.hh
+++ b/milena/mln/literal/black.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -42,6 +42,10 @@ namespace mln
/// Type of literal black.
struct black_t : public Literal<black_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ black_t();
+
# ifdef MLN_NEW_VALUE_TYPES
operator float() const;
operator double() const;
@@ -50,17 +54,21 @@ namespace mln
/// Literal black.
- extern const black_t& black;
+ extern const black_t black;
# ifndef MLN_INCLUDE_ONLY
# ifndef MLN_WO_GLOBAL_VARS
- const black_t& black = black_t();
+ const black_t black;
# endif
+ black_t::black_t()
+ {
+ }
+
# ifdef MLN_NEW_VALUE_TYPES
inline
black_t::operator float() const
diff --git a/milena/mln/literal/colors.hh b/milena/mln/literal/colors.hh
index 099d2c7..52c05d0 100644
--- a/milena/mln/literal/colors.hh
+++ b/milena/mln/literal/colors.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -42,146 +42,244 @@ namespace mln
/// Type of literal red.
struct red_t : public Literal<red_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ red_t();
};
/// Type of literal green.
struct green_t : public Literal<green_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ green_t();
};
/// Type of literal blue.
struct blue_t : public Literal<blue_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ blue_t();
};
/// Type of literal brown.
struct brown_t : public Literal<brown_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ brown_t();
};
/// Type of literal lime.
struct lime_t : public Literal<lime_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ lime_t();
};
/// Type of literal orange.
struct orange_t : public Literal<orange_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ orange_t();
};
/// Type of literal pink.
struct pink_t : public Literal<pink_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ pink_t();
};
/// Type of literal purple.
struct purple_t : public Literal<purple_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ purple_t();
};
/// Type of literal teal.
struct teal_t : public Literal<teal_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ teal_t();
};
/// Type of literal violet.
struct violet_t : public Literal<violet_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ violet_t();
};
/// Type of literal cyan.
struct cyan_t : public Literal<cyan_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ cyan_t();
};
/// Type of literal magenta.
struct magenta_t : public Literal<magenta_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ magenta_t();
};
/// Type of literal yellow.
struct yellow_t : public Literal<yellow_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ yellow_t();
};
/// Type of literal olive.
struct olive_t : public Literal<olive_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ olive_t();
};
/// Literal red.
- extern const red_t& red;
+ extern const red_t red;
/// Literal green.
- extern const green_t& green;
+ extern const green_t green;
/// Literal blue.
- extern const blue_t& blue;
+ extern const blue_t blue;
/// Literal brown.
- extern const brown_t& brown;
+ extern const brown_t brown;
/// Literal lime.
- extern const lime_t& lime;
+ extern const lime_t lime;
/// Literal orange.
- extern const orange_t& orange;
+ extern const orange_t orange;
/// Literal pink.
- extern const pink_t& pink;
+ extern const pink_t pink;
/// Literal purple.
- extern const purple_t& purple;
+ extern const purple_t purple;
/// Literal teal.
- extern const teal_t& teal;
+ extern const teal_t teal;
/// Literal violet.
- extern const violet_t& violet;
+ extern const violet_t violet;
/// Literal cyan.
- extern const cyan_t& cyan;
+ extern const cyan_t cyan;
/// Literal magenta.
- extern const magenta_t& magenta;
+ extern const magenta_t magenta;
/// Literal yellow.
- extern const yellow_t& yellow;
+ extern const yellow_t yellow;
/// Literal olive.
- extern const olive_t& olive;
+ extern const olive_t olive;
# ifndef MLN_INCLUDE_ONLY
+ red_t::red_t()
+ {
+ }
+
+ green_t::green_t()
+ {
+ }
+
+ blue_t::blue_t()
+ {
+ }
+
+ brown_t::brown_t()
+ {
+ }
+
+ lime_t::lime_t()
+ {
+ }
+
+ orange_t::orange_t()
+ {
+ }
+
+ pink_t::pink_t()
+ {
+ }
+
+ purple_t::purple_t()
+ {
+ }
+
+ teal_t::teal_t()
+ {
+ }
+
+ violet_t::violet_t()
+ {
+ }
+
+ cyan_t::cyan_t()
+ {
+ }
+
+ magenta_t::magenta_t()
+ {
+ }
+
+ yellow_t::yellow_t()
+ {
+ }
+
+ olive_t::olive_t()
+ {
+ }
+
# ifndef MLN_WO_GLOBAL_VARS
- const red_t& red = red_t();
+ const red_t red;
- const green_t& green = green_t();
+ const green_t green;
- const blue_t& blue = blue_t();
+ const blue_t blue;
- const brown_t& brown = brown_t();
+ const brown_t brown;
- const lime_t& lime = lime_t();
+ const lime_t lime;
- const orange_t& orange = orange_t();
+ const orange_t orange;
- const pink_t& pink = pink_t();
+ const pink_t pink;
- const purple_t& purple = purple_t();
+ const purple_t purple;
- const teal_t& teal = teal_t();
+ const teal_t teal;
- const violet_t& violet = violet_t();
+ const violet_t violet;
- const cyan_t& cyan = cyan_t();
+ const cyan_t cyan;
- const magenta_t& magenta = magenta_t();
+ const magenta_t magenta;
- const yellow_t& yellow = yellow_t();
+ const yellow_t yellow;
- const olive_t& olive = olive_t();
+ const olive_t olive;
# endif
diff --git a/milena/mln/literal/white.hh b/milena/mln/literal/white.hh
index 9f19f3a..620a73a 100644
--- a/milena/mln/literal/white.hh
+++ b/milena/mln/literal/white.hh
@@ -42,6 +42,10 @@ namespace mln
/// Type of literal white.
struct white_t : public Literal<white_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ white_t();
+
# ifdef MLN_NEW_VALUE_TYPES
operator float() const;
operator double() const;
@@ -50,17 +54,21 @@ namespace mln
/// Literal white.
- extern const white_t& white;
+ extern const white_t white;
# ifndef MLN_INCLUDE_ONLY
# ifndef MLN_WO_GLOBAL_VARS
- const white_t& white = white_t();
+ const white_t white;
# endif
+ white_t::white_t()
+ {
+ }
+
# ifdef MLN_NEW_VALUE_TYPES
inline
white_t::operator float() const
diff --git a/milena/mln/topo/center_only_iter.hh b/milena/mln/topo/center_only_iter.hh
index 9d52099..5e695ce 100644
--- a/milena/mln/topo/center_only_iter.hh
+++ b/milena/mln/topo/center_only_iter.hh
@@ -45,7 +45,7 @@ namespace mln
{
// Forward declaration.
- template <unsigned D> struct face;
+ template <unsigned D> class face;
/*----------------------------.
diff --git a/milena/mln/topo/face.hh b/milena/mln/topo/face.hh
index c9b58b0..1ea6a2b 100644
--- a/milena/mln/topo/face.hh
+++ b/milena/mln/topo/face.hh
@@ -49,7 +49,7 @@ namespace mln
template <unsigned D> class complex;
template <unsigned N, unsigned D> class n_face;
template <unsigned N, unsigned D> class face_data;
- template <unsigned N> struct algebraic_face;
+ template <unsigned N> class algebraic_face;
/*-------.
diff --git a/milena/mln/trait/images.hh b/milena/mln/trait/images.hh
index d8e80b0..2ae9299 100644
--- a/milena/mln/trait/images.hh
+++ b/milena/mln/trait/images.hh
@@ -118,7 +118,7 @@ namespace mln
// Morphers.
template <typename I, typename F> struct image_if_base;
template <typename I, typename D> struct decorated_image;
- template <typename I, typename S> struct sub_image;
+ template <typename I, typename S> class sub_image;
template <typename I> class safe_image;
template <typename T, typename I> struct cast_image_;
namespace value { template <unsigned n, typename I> struct stack_image; }
--
1.7.2.5
1
0

olena-2.0-21-g027bd1b Fix compilation issues with g++ 4.6.1 and clang++.
by Guillaume Lazzara 21 Nov '11
by Guillaume Lazzara 21 Nov '11
21 Nov '11
* mln/topo/center_only_iter.hh,
* mln/topo/face.hh,
* mln/trait/images.hh,
* mln/convert/from_to.hxx,
* mln/core/image/dmorph/sub_image.hh,
* mln/core/routine/init.hxx,
* mln/algebra/vec.hh: Make declaration and forward declarations
consistent.
* mln/canvas/browsing/backdiagonal2d.hh,
* mln/canvas/browsing/breadth_first_search.hh,
* mln/canvas/browsing/depth_first_search.hh,
* mln/canvas/browsing/diagonal2d.hh,
* mln/canvas/browsing/directional.hh,
* mln/canvas/browsing/fwd.hh,
* mln/canvas/browsing/hyper_directional.hh,
* mln/canvas/browsing/snake_fwd.hh,
* mln/canvas/browsing/snake_generic.hh,
* mln/canvas/browsing/snake_vert.hh,
* mln/fun/v2v/hsl_to_rgb.hh,
* mln/literal/black.hh,
* mln/literal/colors.hh,
* mln/literal/white.hh: Add a default constructor for global
variable types.
* mln/canvas/browsing/internal/graph_first_search.hh: Avoid a
warning for an unused variable.
* mln/data/was.median.hh: Fix type of the reference.
---
milena/ChangeLog | 35 +++++
milena/mln/algebra/vec.hh | 2 +-
milena/mln/canvas/browsing/backdiagonal2d.hh | 12 +-
milena/mln/canvas/browsing/breadth_first_search.hh | 13 ++-
milena/mln/canvas/browsing/depth_first_search.hh | 12 ++-
milena/mln/canvas/browsing/diagonal2d.hh | 8 +
.../canvas/browsing/dir_struct_elt_incr_update.hh | 11 ++-
milena/mln/canvas/browsing/directional.hh | 12 ++-
milena/mln/canvas/browsing/fwd.hh | 11 ++-
milena/mln/canvas/browsing/hyper_directional.hh | 11 ++-
.../canvas/browsing/internal/graph_first_search.hh | 1 +
milena/mln/canvas/browsing/snake_fwd.hh | 11 +-
milena/mln/canvas/browsing/snake_generic.hh | 11 +-
milena/mln/canvas/browsing/snake_vert.hh | 5 +-
milena/mln/convert/from_to.hxx | 2 +-
milena/mln/core/image/dmorph/sub_image.hh | 2 +-
milena/mln/core/routine/init.hxx | 2 +-
milena/mln/data/was.median.hh | 8 +-
milena/mln/fun/v2v/hsl_to_rgb.hh | 11 +-
milena/mln/literal/black.hh | 14 ++-
milena/mln/literal/colors.hh | 156 ++++++++++++++++----
milena/mln/literal/white.hh | 12 ++-
milena/mln/topo/center_only_iter.hh | 2 +-
milena/mln/topo/face.hh | 2 +-
milena/mln/trait/images.hh | 2 +-
25 files changed, 303 insertions(+), 65 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index dcc6da5..363bf08 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -2,6 +2,41 @@
* mln/geom/crop_without_localization.hh: Fix preconditions.
+2011-11-21 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Fix compilation issues with g++ 4.6.1 and clang++.
+
+ * mln/topo/center_only_iter.hh,
+ * mln/topo/face.hh,
+ * mln/trait/images.hh,
+ * mln/convert/from_to.hxx,
+ * mln/core/image/dmorph/sub_image.hh,
+ * mln/core/routine/init.hxx,
+ * mln/algebra/vec.hh: Make declaration and forward declarations
+ consistent.
+
+ * mln/canvas/browsing/backdiagonal2d.hh,
+ * mln/canvas/browsing/breadth_first_search.hh,
+ * mln/canvas/browsing/depth_first_search.hh,
+ * mln/canvas/browsing/diagonal2d.hh,
+ * mln/canvas/browsing/dir_struct_elt_incr_update.hh,
+ * mln/canvas/browsing/directional.hh,
+ * mln/canvas/browsing/fwd.hh,
+ * mln/canvas/browsing/hyper_directional.hh,
+ * mln/canvas/browsing/snake_fwd.hh,
+ * mln/canvas/browsing/snake_generic.hh,
+ * mln/canvas/browsing/snake_vert.hh,
+ * mln/fun/v2v/hsl_to_rgb.hh,
+ * mln/literal/black.hh,
+ * mln/literal/colors.hh,
+ * mln/literal/white.hh: Add a default constructor for global
+ variable types.
+
+ * mln/canvas/browsing/internal/graph_first_search.hh: Avoid a
+ warning for an unused variable.
+
+ * mln/data/was.median.hh: Fix type of the reference.
+
2011-11-16 Guillaume Lazzara <z(a)lrde.epita.fr>
Fix compilation Warnings with latest g++ versions.
diff --git a/milena/mln/algebra/vec.hh b/milena/mln/algebra/vec.hh
index dc526ec..bbe23c8 100644
--- a/milena/mln/algebra/vec.hh
+++ b/milena/mln/algebra/vec.hh
@@ -56,7 +56,7 @@ namespace mln
// Forward declarations.
namespace algebra {
template <unsigned n, typename T> class vec;
- template <unsigned d, typename C> struct h_vec;
+ template <unsigned d, typename C> class h_vec;
template <unsigned n, unsigned m, typename T> class mat;
}
diff --git a/milena/mln/canvas/browsing/backdiagonal2d.hh b/milena/mln/canvas/browsing/backdiagonal2d.hh
index bd680aa..0ec455e 100644
--- a/milena/mln/canvas/browsing/backdiagonal2d.hh
+++ b/milena/mln/canvas/browsing/backdiagonal2d.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2010 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -82,6 +82,10 @@ namespace mln
*/
struct backdiagonal2d_t : public Browsing< backdiagonal2d_t >
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ backdiagonal2d_t();
+
template <typename F>
void operator()(F& f) const;
};
@@ -92,13 +96,15 @@ namespace mln
# ifndef MLN_INCLUDE_ONLY
-
# ifndef MLN_WO_GLOBAL_VARS
const backdiagonal2d_t backdiagonal2d;
# endif // ! MLN_WO_GLOBAL_VARS
+ backdiagonal2d_t::backdiagonal2d_t()
+ {
+ }
template <typename F>
inline
diff --git a/milena/mln/canvas/browsing/breadth_first_search.hh b/milena/mln/canvas/browsing/breadth_first_search.hh
index 6f5327e..a637114 100644
--- a/milena/mln/canvas/browsing/breadth_first_search.hh
+++ b/milena/mln/canvas/browsing/breadth_first_search.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2011 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -78,7 +79,11 @@ namespace mln
/// Breadth-first search algorithm for graph, on vertices.
struct breadth_first_search_t :
public internal::graph_first_search_t<breadth_first_search_t, std::queue>
- {};
+ {
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ breadth_first_search_t();
+ };
extern const breadth_first_search_t breadth_first_search;
@@ -88,6 +93,10 @@ namespace mln
const breadth_first_search_t breadth_first_search;
+ breadth_first_search_t::breadth_first_search_t()
+ {
+ }
+
# endif // ! MLN_INCLUDE_ONLY
} // end of namespace mln::canvas::browsing
diff --git a/milena/mln/canvas/browsing/depth_first_search.hh b/milena/mln/canvas/browsing/depth_first_search.hh
index 3d76633..ecb2c08 100644
--- a/milena/mln/canvas/browsing/depth_first_search.hh
+++ b/milena/mln/canvas/browsing/depth_first_search.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2010 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2010, 2011 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -79,7 +79,11 @@ namespace mln
/// Breadth-first search algorithm for graph, on vertices.
struct depth_first_search_t :
public internal::graph_first_search_t<depth_first_search_t, std::stack>
- {};
+ {
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ depth_first_search_t();
+ };
extern const depth_first_search_t depth_first_search;
@@ -93,6 +97,10 @@ namespace mln
# endif // ! MLN_WO_GLOBAL_VARS
+ depth_first_search_t::depth_first_search_t()
+ {
+ }
+
# endif // ! MLN_INCLUDE_ONLY
} // end of namespace mln::canvas::browsing
diff --git a/milena/mln/canvas/browsing/diagonal2d.hh b/milena/mln/canvas/browsing/diagonal2d.hh
index 7840362..8324795 100644
--- a/milena/mln/canvas/browsing/diagonal2d.hh
+++ b/milena/mln/canvas/browsing/diagonal2d.hh
@@ -81,6 +81,10 @@ namespace mln
*/
struct diagonal2d_t : public Browsing< diagonal2d_t >
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ diagonal2d_t();
+
template <typename F>
void operator()(F& f) const;
};
@@ -95,6 +99,10 @@ namespace mln
# endif // ! MLN_WO_GLOBAL_VARS
+ diagonal2d_t::diagonal2d_t()
+ {
+ }
+
template <typename F>
inline
diff --git a/milena/mln/canvas/browsing/dir_struct_elt_incr_update.hh b/milena/mln/canvas/browsing/dir_struct_elt_incr_update.hh
index 4c334ec..0037229 100644
--- a/milena/mln/canvas/browsing/dir_struct_elt_incr_update.hh
+++ b/milena/mln/canvas/browsing/dir_struct_elt_incr_update.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -85,6 +86,10 @@ namespace mln
*/
struct dir_struct_elt_incr_update_t : public Browsing< dir_struct_elt_incr_update_t >
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ dir_struct_elt_incr_update_t();
+
template <typename F>
void operator()(F& f) const;
};
@@ -95,6 +100,10 @@ namespace mln
const dir_struct_elt_incr_update_t dir_struct_elt_incr_update;
+ dir_struct_elt_incr_update_t::dir_struct_elt_incr_update_t()
+ {
+ }
+
template <typename F>
inline
void
diff --git a/milena/mln/canvas/browsing/directional.hh b/milena/mln/canvas/browsing/directional.hh
index 91b6ea6..8931cad 100644
--- a/milena/mln/canvas/browsing/directional.hh
+++ b/milena/mln/canvas/browsing/directional.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2010 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -89,6 +89,10 @@ namespace mln
*/
struct directional_t : public Browsing< directional_t >
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ directional_t();
+
template <typename F>
void operator()(F& f) const;
};
@@ -103,6 +107,10 @@ namespace mln
# endif // ! MLN_WO_GLOBAL_VARS
+ directional_t::directional_t()
+ {
+ }
+
template <typename F>
inline
void
diff --git a/milena/mln/canvas/browsing/fwd.hh b/milena/mln/canvas/browsing/fwd.hh
index f89e75b..86c9bf8 100644
--- a/milena/mln/canvas/browsing/fwd.hh
+++ b/milena/mln/canvas/browsing/fwd.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -71,6 +72,10 @@ namespace mln
*/
struct fwd_t : public Browsing< fwd_t >
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ fwd_t();
+
template <typename F>
void operator()(F& f) const;
};
@@ -81,6 +86,10 @@ namespace mln
const fwd_t fwd;
+ fwd_t::fwd_t()
+ {
+ }
+
template <typename F>
inline
void
diff --git a/milena/mln/canvas/browsing/hyper_directional.hh b/milena/mln/canvas/browsing/hyper_directional.hh
index 6ad9a47..65bb794 100644
--- a/milena/mln/canvas/browsing/hyper_directional.hh
+++ b/milena/mln/canvas/browsing/hyper_directional.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -73,6 +74,10 @@ namespace mln
*/
struct hyper_directional_t : public Browsing< hyper_directional_t >
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ hyper_directional_t();
+
template <typename F>
void operator()(F& f) const;
};
@@ -83,6 +88,10 @@ namespace mln
const hyper_directional_t hyper_directional;
+ hyper_directional_t::hyper_directional_t()
+ {
+ }
+
template <typename F>
inline
void
diff --git a/milena/mln/canvas/browsing/internal/graph_first_search.hh b/milena/mln/canvas/browsing/internal/graph_first_search.hh
index 1bc64c6..8d74fa4 100644
--- a/milena/mln/canvas/browsing/internal/graph_first_search.hh
+++ b/milena/mln/canvas/browsing/internal/graph_first_search.hh
@@ -128,6 +128,7 @@ namespace mln
util::vertex_id_t
next(const S& stack)
{
+ (void) stack;
mln_assertion(0);
/// Not defined yet!
// mlc_abort(S)::check();
diff --git a/milena/mln/canvas/browsing/snake_fwd.hh b/milena/mln/canvas/browsing/snake_fwd.hh
index ca6ecf2..06b72df 100644
--- a/milena/mln/canvas/browsing/snake_fwd.hh
+++ b/milena/mln/canvas/browsing/snake_fwd.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2010 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -83,6 +83,10 @@ namespace mln
struct snake_fwd_t : public Browsing< snake_fwd_t >
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ snake_fwd_t();
+
template <typename F>
void operator()(F& f) const;
};
@@ -97,6 +101,9 @@ namespace mln
# endif // ! MLN_WO_GLOBAL_VARS
+ snake_fwd_t::snake_fwd_t()
+ {
+ }
template <typename F>
inline
diff --git a/milena/mln/canvas/browsing/snake_generic.hh b/milena/mln/canvas/browsing/snake_generic.hh
index c4c1ae8..af9f799 100644
--- a/milena/mln/canvas/browsing/snake_generic.hh
+++ b/milena/mln/canvas/browsing/snake_generic.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2010 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -76,6 +76,10 @@ namespace mln
struct snake_generic_t : public Browsing< snake_generic_t >
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ snake_generic_t();
+
template <typename F>
void operator()(F& f) const;
@@ -91,6 +95,9 @@ namespace mln
# endif // ! MLN_WO_GLOBAL_VARS
+ snake_generic_t::snake_generic_t()
+ {
+ }
template <typename F>
inline
diff --git a/milena/mln/canvas/browsing/snake_vert.hh b/milena/mln/canvas/browsing/snake_vert.hh
index 9e46c9c..416786c 100644
--- a/milena/mln/canvas/browsing/snake_vert.hh
+++ b/milena/mln/canvas/browsing/snake_vert.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -90,7 +91,7 @@ namespace mln
# ifndef MLN_INCLUDE_ONLY
- const snake_vert_t snake_vert;
+ const snake_vert_t snake_vert = snake_vert_t();
template <typename F>
inline
diff --git a/milena/mln/convert/from_to.hxx b/milena/mln/convert/from_to.hxx
index e99c3f6..a0e22df 100644
--- a/milena/mln/convert/from_to.hxx
+++ b/milena/mln/convert/from_to.hxx
@@ -69,7 +69,7 @@ namespace mln
namespace algebra {
template <unsigned n, typename T> class vec;
- template <unsigned d, typename C> struct h_vec;
+ template <unsigned d, typename C> class h_vec;
}
namespace fun {
diff --git a/milena/mln/core/image/dmorph/sub_image.hh b/milena/mln/core/image/dmorph/sub_image.hh
index 088142d..d266ce6 100644
--- a/milena/mln/core/image/dmorph/sub_image.hh
+++ b/milena/mln/core/image/dmorph/sub_image.hh
@@ -44,7 +44,7 @@ namespace mln
// Forward declaration.
- template <typename I, typename S> struct sub_image;
+ template <typename I, typename S> class sub_image;
namespace internal
diff --git a/milena/mln/core/routine/init.hxx b/milena/mln/core/routine/init.hxx
index 5cc6d12..1ff8067 100644
--- a/milena/mln/core/routine/init.hxx
+++ b/milena/mln/core/routine/init.hxx
@@ -37,7 +37,7 @@ namespace mln
// Forward declarations.
namespace fun { namespace i2v { template <typename T> class array; } }
- namespace pw { namespace internal { template <typename F, typename S, typename E> struct image_base; } }
+ namespace pw { namespace internal { template <typename F, typename S, typename E> class image_base; } }
namespace pw { template <typename F, typename S> class image; }
template <typename I, typename F> struct image_if;
diff --git a/milena/mln/data/was.median.hh b/milena/mln/data/was.median.hh
index 2e470d5..73ee247 100644
--- a/milena/mln/data/was.median.hh
+++ b/milena/mln/data/was.median.hh
@@ -97,8 +97,8 @@ namespace mln
med.take(input(q));
}
- int& row = p.row();
- int& col = p.col();
+ def::coord& row = p.row();
+ def::coord& col = p.col();
bool fwd = true;
mln_assertion(p.col() == min_col);
@@ -155,8 +155,8 @@ namespace mln
const unsigned half = win.length() / 2;
point2d p;
- int& row = p.row();
- int& col = p.col();
+ def::coord& row = p.row();
+ def::coord& col = p.col();
accu::stat::median_h<mln_vset(I)> med(input.values());
diff --git a/milena/mln/fun/v2v/hsl_to_rgb.hh b/milena/mln/fun/v2v/hsl_to_rgb.hh
index 7d66d31..dbedcf4 100644
--- a/milena/mln/fun/v2v/hsl_to_rgb.hh
+++ b/milena/mln/fun/v2v/hsl_to_rgb.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -71,6 +71,9 @@ namespace mln
{
typedef T_rgb result;
+
+ f_hsl_to_rgb_();
+
template <typename T_hsl>
T_rgb operator()(const T_hsl& hsl) const;
@@ -94,6 +97,10 @@ namespace mln
/// \}
# endif // !MLN_WO_GLOBAL_VARS
+ template <typename T_rgb>
+ f_hsl_to_rgb_<T_rgb>::f_hsl_to_rgb_()
+ {
+ }
/// This method implements the conversion from HSL to RGB as described by
/// Max K. Agoston in `Computer Graphics and Geometric Modeling:
diff --git a/milena/mln/literal/black.hh b/milena/mln/literal/black.hh
index ab05cae..6ffbe33 100644
--- a/milena/mln/literal/black.hh
+++ b/milena/mln/literal/black.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -42,6 +42,10 @@ namespace mln
/// Type of literal black.
struct black_t : public Literal<black_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ black_t();
+
# ifdef MLN_NEW_VALUE_TYPES
operator float() const;
operator double() const;
@@ -50,17 +54,21 @@ namespace mln
/// Literal black.
- extern const black_t& black;
+ extern const black_t black;
# ifndef MLN_INCLUDE_ONLY
# ifndef MLN_WO_GLOBAL_VARS
- const black_t& black = black_t();
+ const black_t black;
# endif
+ black_t::black_t()
+ {
+ }
+
# ifdef MLN_NEW_VALUE_TYPES
inline
black_t::operator float() const
diff --git a/milena/mln/literal/colors.hh b/milena/mln/literal/colors.hh
index 099d2c7..52c05d0 100644
--- a/milena/mln/literal/colors.hh
+++ b/milena/mln/literal/colors.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -42,146 +42,244 @@ namespace mln
/// Type of literal red.
struct red_t : public Literal<red_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ red_t();
};
/// Type of literal green.
struct green_t : public Literal<green_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ green_t();
};
/// Type of literal blue.
struct blue_t : public Literal<blue_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ blue_t();
};
/// Type of literal brown.
struct brown_t : public Literal<brown_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ brown_t();
};
/// Type of literal lime.
struct lime_t : public Literal<lime_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ lime_t();
};
/// Type of literal orange.
struct orange_t : public Literal<orange_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ orange_t();
};
/// Type of literal pink.
struct pink_t : public Literal<pink_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ pink_t();
};
/// Type of literal purple.
struct purple_t : public Literal<purple_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ purple_t();
};
/// Type of literal teal.
struct teal_t : public Literal<teal_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ teal_t();
};
/// Type of literal violet.
struct violet_t : public Literal<violet_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ violet_t();
};
/// Type of literal cyan.
struct cyan_t : public Literal<cyan_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ cyan_t();
};
/// Type of literal magenta.
struct magenta_t : public Literal<magenta_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ magenta_t();
};
/// Type of literal yellow.
struct yellow_t : public Literal<yellow_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ yellow_t();
};
/// Type of literal olive.
struct olive_t : public Literal<olive_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ olive_t();
};
/// Literal red.
- extern const red_t& red;
+ extern const red_t red;
/// Literal green.
- extern const green_t& green;
+ extern const green_t green;
/// Literal blue.
- extern const blue_t& blue;
+ extern const blue_t blue;
/// Literal brown.
- extern const brown_t& brown;
+ extern const brown_t brown;
/// Literal lime.
- extern const lime_t& lime;
+ extern const lime_t lime;
/// Literal orange.
- extern const orange_t& orange;
+ extern const orange_t orange;
/// Literal pink.
- extern const pink_t& pink;
+ extern const pink_t pink;
/// Literal purple.
- extern const purple_t& purple;
+ extern const purple_t purple;
/// Literal teal.
- extern const teal_t& teal;
+ extern const teal_t teal;
/// Literal violet.
- extern const violet_t& violet;
+ extern const violet_t violet;
/// Literal cyan.
- extern const cyan_t& cyan;
+ extern const cyan_t cyan;
/// Literal magenta.
- extern const magenta_t& magenta;
+ extern const magenta_t magenta;
/// Literal yellow.
- extern const yellow_t& yellow;
+ extern const yellow_t yellow;
/// Literal olive.
- extern const olive_t& olive;
+ extern const olive_t olive;
# ifndef MLN_INCLUDE_ONLY
+ red_t::red_t()
+ {
+ }
+
+ green_t::green_t()
+ {
+ }
+
+ blue_t::blue_t()
+ {
+ }
+
+ brown_t::brown_t()
+ {
+ }
+
+ lime_t::lime_t()
+ {
+ }
+
+ orange_t::orange_t()
+ {
+ }
+
+ pink_t::pink_t()
+ {
+ }
+
+ purple_t::purple_t()
+ {
+ }
+
+ teal_t::teal_t()
+ {
+ }
+
+ violet_t::violet_t()
+ {
+ }
+
+ cyan_t::cyan_t()
+ {
+ }
+
+ magenta_t::magenta_t()
+ {
+ }
+
+ yellow_t::yellow_t()
+ {
+ }
+
+ olive_t::olive_t()
+ {
+ }
+
# ifndef MLN_WO_GLOBAL_VARS
- const red_t& red = red_t();
+ const red_t red;
- const green_t& green = green_t();
+ const green_t green;
- const blue_t& blue = blue_t();
+ const blue_t blue;
- const brown_t& brown = brown_t();
+ const brown_t brown;
- const lime_t& lime = lime_t();
+ const lime_t lime;
- const orange_t& orange = orange_t();
+ const orange_t orange;
- const pink_t& pink = pink_t();
+ const pink_t pink;
- const purple_t& purple = purple_t();
+ const purple_t purple;
- const teal_t& teal = teal_t();
+ const teal_t teal;
- const violet_t& violet = violet_t();
+ const violet_t violet;
- const cyan_t& cyan = cyan_t();
+ const cyan_t cyan;
- const magenta_t& magenta = magenta_t();
+ const magenta_t magenta;
- const yellow_t& yellow = yellow_t();
+ const yellow_t yellow;
- const olive_t& olive = olive_t();
+ const olive_t olive;
# endif
diff --git a/milena/mln/literal/white.hh b/milena/mln/literal/white.hh
index 9f19f3a..620a73a 100644
--- a/milena/mln/literal/white.hh
+++ b/milena/mln/literal/white.hh
@@ -42,6 +42,10 @@ namespace mln
/// Type of literal white.
struct white_t : public Literal<white_t>
{
+ // This default constructor is needed for compilation with gcc
+ // 4.6.0, gcc 4.6.1 and Clang.
+ white_t();
+
# ifdef MLN_NEW_VALUE_TYPES
operator float() const;
operator double() const;
@@ -50,17 +54,21 @@ namespace mln
/// Literal white.
- extern const white_t& white;
+ extern const white_t white;
# ifndef MLN_INCLUDE_ONLY
# ifndef MLN_WO_GLOBAL_VARS
- const white_t& white = white_t();
+ const white_t white;
# endif
+ white_t::white_t()
+ {
+ }
+
# ifdef MLN_NEW_VALUE_TYPES
inline
white_t::operator float() const
diff --git a/milena/mln/topo/center_only_iter.hh b/milena/mln/topo/center_only_iter.hh
index 9d52099..5e695ce 100644
--- a/milena/mln/topo/center_only_iter.hh
+++ b/milena/mln/topo/center_only_iter.hh
@@ -45,7 +45,7 @@ namespace mln
{
// Forward declaration.
- template <unsigned D> struct face;
+ template <unsigned D> class face;
/*----------------------------.
diff --git a/milena/mln/topo/face.hh b/milena/mln/topo/face.hh
index c9b58b0..1ea6a2b 100644
--- a/milena/mln/topo/face.hh
+++ b/milena/mln/topo/face.hh
@@ -49,7 +49,7 @@ namespace mln
template <unsigned D> class complex;
template <unsigned N, unsigned D> class n_face;
template <unsigned N, unsigned D> class face_data;
- template <unsigned N> struct algebraic_face;
+ template <unsigned N> class algebraic_face;
/*-------.
diff --git a/milena/mln/trait/images.hh b/milena/mln/trait/images.hh
index d8e80b0..2ae9299 100644
--- a/milena/mln/trait/images.hh
+++ b/milena/mln/trait/images.hh
@@ -118,7 +118,7 @@ namespace mln
// Morphers.
template <typename I, typename F> struct image_if_base;
template <typename I, typename D> struct decorated_image;
- template <typename I, typename S> struct sub_image;
+ template <typename I, typename S> class sub_image;
template <typename I> class safe_image;
template <typename T, typename I> struct cast_image_;
namespace value { template <unsigned n, typename I> struct stack_image; }
--
1.7.2.5
1
0

olena-2.0-19-gb77d84a mln/geom/crop_without_localization.hh: Fix preconditions.
by Guillaume Lazzara 21 Nov '11
by Guillaume Lazzara 21 Nov '11
21 Nov '11
---
milena/ChangeLog | 4 ++++
milena/mln/geom/crop_without_localization.hh | 3 ++-
2 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index abe73a7..e9d45f1 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,3 +1,7 @@
+2011-11-21 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * mln/geom/crop_without_localization.hh: Fix preconditions.
+
2011-11-16 Guillaume Lazzara <z(a)lrde.epita.fr>
Fix compilation Warnings with latest g++ versions.
diff --git a/milena/mln/geom/crop_without_localization.hh b/milena/mln/geom/crop_without_localization.hh
index ed80c56..5ca5412 100644
--- a/milena/mln/geom/crop_without_localization.hh
+++ b/milena/mln/geom/crop_without_localization.hh
@@ -59,7 +59,8 @@ namespace mln
const B& b_in = exact(b_in_);
const B& b_out = exact(b_out_);
mln_precondition(input.is_valid());
- mln_precondition(b.is_valid());
+ mln_precondition(b_in.is_valid());
+ mln_precondition(b_out.is_valid());
mln_precondition(b_in <= input.domain());
mln_precondition(b_in.nsites() == b_out.nsites());
--
1.7.2.5
1
0

olena-2.0-19-gb77d84a mln/geom/crop_without_localization.hh: Fix preconditions.
by Guillaume Lazzara 21 Nov '11
by Guillaume Lazzara 21 Nov '11
21 Nov '11
---
milena/ChangeLog | 4 ++++
milena/mln/geom/crop_without_localization.hh | 3 ++-
2 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index abe73a7..e9d45f1 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,3 +1,7 @@
+2011-11-21 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * mln/geom/crop_without_localization.hh: Fix preconditions.
+
2011-11-16 Guillaume Lazzara <z(a)lrde.epita.fr>
Fix compilation Warnings with latest g++ versions.
diff --git a/milena/mln/geom/crop_without_localization.hh b/milena/mln/geom/crop_without_localization.hh
index ed80c56..5ca5412 100644
--- a/milena/mln/geom/crop_without_localization.hh
+++ b/milena/mln/geom/crop_without_localization.hh
@@ -59,7 +59,8 @@ namespace mln
const B& b_in = exact(b_in_);
const B& b_out = exact(b_out_);
mln_precondition(input.is_valid());
- mln_precondition(b.is_valid());
+ mln_precondition(b_in.is_valid());
+ mln_precondition(b_out.is_valid());
mln_precondition(b_in <= input.domain());
mln_precondition(b_in.nsites() == b_out.nsites());
--
1.7.2.5
1
0

21 Nov '11
---
scribo/ChangeLog | 4 ++++
scribo/README | 6 +++++-
2 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/scribo/ChangeLog b/scribo/ChangeLog
index 07a1a29..ccabd9d 100644
--- a/scribo/ChangeLog
+++ b/scribo/ChangeLog
@@ -1,3 +1,7 @@
+2011-11-21 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * README: update requirements information.
+
2011-11-16 Guillaume Lazzara <z(a)lrde.epita.fr>
* scribo/text/recognition.hh: Fix code for Tesseract 3.01
diff --git a/scribo/README b/scribo/README
index 84fe60a..af325a8 100644
--- a/scribo/README
+++ b/scribo/README
@@ -59,7 +59,7 @@ dependencies should be installed :
- xsltproc
- fop
- GraphicsMagick++ or ImageMagick++
-- Tesseract 2.x or 3.x (strongly recommended)
+- Tesseract 2.x or 3.01 minimum (strongly recommended)
Warning: Tesseract 2.x is still supported however, you may encounter
crashes because of bugs with Tesseract and specific locales. Moreover,
@@ -74,6 +74,10 @@ KNOWN ISSUES
- Tesseract 2.x may cause crashes with specific system locales. It is
fixed in Tesseract 3.x
+- From Tesseract 3.00 to 3.01 API has changed, introducing
+ incompatibilities. We chose to be compatible with the latest version.
+ Hence, Scribo will not compile with Tesseract 3.00.
+
- Apple's GCC (llvm-{gcc,g++} 4.2) compiler provided with Mac OS X
Lion (10.7.0) has some trouble with strict aliasing and our code. If
you encounter any crashes or strange behaviors, try compiling with
--
1.7.2.5
1
0