tfussell / xlnt

:bar_chart: Cross-platform user-friendly xlsx library for C++11+
Other
1.49k stars 418 forks source link

xlnt-master make error #470

Closed oyj921225 closed 4 years ago

oyj921225 commented 4 years ago

[amber.ou@sg1d-ddnctdb01a xlnt-master]$ make -j 2 [ 8%] Built target libstudxml [ 9%] Building CXX object source/CMakeFiles/xlnt.dir/cell/cell.cpp.o [ 10%] Building CXX object source/CMakeFiles/xlnt.dir/cell/phonetic_run.cpp.o [ 11%] Building CXX object source/CMakeFiles/xlnt.dir/cell/rich_text.cpp.o In file included from /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/bits/move.h:57:0, from /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/bits/stl_pair.h:59, from /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/utility:70, from /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/algorithm:60, from /data/home/amber.ou/src/amber_test/xlnt-master/source/cell/cell.cpp:25: /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/type_traits: In instantiation of 'constexpr const bool std::is_assignable_helper<xlnt::cell_reference, xlnt::cell_reference>::value': /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/type_traits:1099:12: required from 'struct std::is_assignable<xlnt::cell_reference, xlnt::cell_reference ' /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/type_traits:116:12: required from 'struct std::and_<std::is_assignable<xlnt::cell_reference, xlnt::cell_reference>, std::is_nt_assignable_impl<xlnt::cell_reference, xlnt::cell_reference> >' /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/type_traits:1147:12: required from 'struct std::is_nothrow_assignable<xlnt::cell_reference, xlnt::cell_reference>' /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/utils/optional.hpp:49:99: required from 'class xlnt::optional' /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/worksheet/pane.hpp:62:30: required from here /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/type_traits:1094:50: error: invalid use of incomplete type 'class xlnt::range_reference' static constexpr bool value = sizeof(test<_Tp, _Up>(0)) == 1; ^ In file included from /data/home/amber.ou/src/amber_test/xlnt-master/source/cell/cell.cpp:30:0: /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/cell/cell_reference.hpp:36:7: error: forward declaration of 'class xlnt::range_reference' class range_reference; ^ In file included from /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/bits/move.h:57:0, from /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/bits/stl_pair.h:59, from /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/utility:70, from /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/algorithm:60, from /data/home/amber.ou/src/amber_test/xlnt-master/source/cell/cell.cpp:25: /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/type_traits: In instantiation of 'struct std::and_<std::is_assignable<xlnt::cell_reference, xlnt::cell_reference>, std::is_nt_assignable_impl<xlnt::cell_reference, xlnt::cell_reference> >': /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/type_traits:1147:12: required from 'struct std::is_nothrow_assignable<xlnt::cell_reference, xlnt::cell_reference>' /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/utils/optional.hpp:49:99: required from 'class xlnt::optional' /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/worksheet/pane.hpp:62:30: required from here /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/type_traits:116:12: error: 'value' is not a member of 'std::is_assignable<xlnt::cell_reference, xlnt::cell_reference>' struct and_<_B1, _B2> ^ /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/type_traits: In instantiation of 'struct std::is_nothrow_assignable<xlnt::cell_reference, xlnt::cell_reference>': /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/utils/optional.hpp:49:99: required from 'class xlnt::optional' /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/worksheet/pane.hpp:62:30: required from here /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/type_traits:1147:12: error: no type named 'type' in 'struct std::and_<std::is_assignable<xlnt::cell_reference, xlnt::cell_reference>, std::is_nt_assignable_impl<xlnt::cell_reference, xlnt::cell_reference> >' struct is_nothrow_assignable ^ In file included from /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/styles/color.hpp:31:0, from /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/styles/font.hpp:30, from /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/cell/rich_text_run.hpp:29, from /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/cell/rich_text.hpp:31, from /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/cell/cell.hpp:34, from /data/home/amber.ou/src/amber_test/xlnt-master/source/cell/cell.cpp:29: /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/utils/optional.hpp: In instantiation of 'class xlnt::optional': /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/worksheet/pane.hpp:62:30: required from here /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/utils/optional.hpp:49:99: error: no match for 'operator&&' (operand types are 'std::is_nothrow_copy_constructible' and 'std::is_nothrow_assignable<xlnt::cell_reference, xlnt::cell_reference>') using set_copy_noexcept_t = typename std::conditional<std::is_nothrow_copy_constructible{} && std::is_nothrow_assignable<T, T>{}, std::true_type, std::false_type>::type; ^ /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/utils/optional.hpp:49:99: note: candidate is: /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/utils/optional.hpp:49:99: note: operator&&(std::integral_constant<bool, true>::value_type {aka bool}, bool) /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/utils/optional.hpp:49:99: note: no known conversion for argument 2 from 'std::is_nothrow_assignable<xlnt::cell_reference, xlnt::cell_reference>' to 'bool' In file included from /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/bits/move.h:57:0, from /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/bits/stl_pair.h:59, from /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/utility:70, from /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/algorithm:60, from /data/home/amber.ou/src/amber_test/xlnt-master/source/cell/cell.cpp:25: /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/type_traits: In instantiation of 'constexpr const bool std::is_assignable_helper<xlnt::cell_reference&, xlnt::cell_reference&&>::value': /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/type_traits:1099:12: required from 'struct std::is_assignable<xlnt::cell_reference&, xlnt::cell_reference&&>' /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/type_traits:116:12: required from 'struct std::and_<std::is_assignable<xlnt::cell_reference&, xlnt::cell_reference&&>, std::is_nt_assignable_impl<xlnt::cell_reference&, xlnt::cell_reference&&> >' /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/type_traits:1147:12: required from 'struct std::is_nothrow_assignable<xlnt::cell_reference&, xlnt::cell_reference&&>' /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/type_traits:1178:12: required from 'struct std::is_nt_move_assignable_impl<xlnt::cell_reference, false ' /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/type_traits:1184:12: required from 'struct std::is_nothrow_move_assignable' /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/utils/optional.hpp:50:99: required from 'class xlnt::optional' /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/worksheet/pane.hpp:62:30: required from here /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/type_traits:1094:50: error: invalid use of incomplete type 'class xlnt::range_reference' static constexpr bool value = sizeof(test<_Tp, _Up>(0)) == 1; ^ In file included from /data/home/amber.ou/src/amber_test/xlnt-master/source/cell/cell.cpp:30:0: /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/cell/cell_reference.hpp:36:7: error: forward declaration of 'class xlnt::range_reference' class range_reference; ^ In file included from /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/bits/move.h:57:0, from /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/bits/stl_pair.h:59, from /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/utility:70, from /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/algorithm:60, from /data/home/amber.ou/src/amber_test/xlnt-master/source/cell/cell.cpp:25: /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/type_traits: In instantiation of 'struct std::and_<std::is_assignable<xlnt::cell_reference&, xlnt::cell_reference&&>, std::__is_nt_assignable_impl<xlnt::cell_reference&, xlnt::cell_reference&&> >': /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/type_traits:1147:12: required from 'struct std::is_nothrow_assignable<xlnt::cell_reference&, xlnt::cell_reference&&>' /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/type_traits:1178:12: required from 'struct std::is_nt_move_assignable_impl<xlnt::cell_reference, false ' /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/type_traits:1184:12: required from 'struct std::is_nothrow_move_assignable' /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/utils/optional.hpp:50:99: required from 'class xlnt::optional' /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/worksheet/pane.hpp:62:30: required from here /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/type_traits:116:12: error: 'value' is not a member of 'std::is_assignable<xlnt::cell_reference&, xlnt::cell_reference&&>' struct and_<_B1, _B2> ^ /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/type_traits: In instantiation of 'struct std::is_nothrow_assignable<xlnt::cell_reference&, xlnt::cell_reference&&>': /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/type_traits:1178:12: required from 'struct std::is_nt_move_assignable_impl<xlnt::cell_reference, false ' /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/type_traits:1184:12: required from 'struct std::is_nothrow_move_assignable' /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/utils/optional.hpp:50:99: required from 'class xlnt::optional' /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/worksheet/pane.hpp:62:30: required from here /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/type_traits:1147:12: error: no type named 'type' in 'struct std::and_<std::is_assignable<xlnt::cell_reference&, xlnt::cell_reference&&>, std::__is_nt_assignable_impl<xlnt::cell_reference&, xlnt::cell_reference&&> >' struct is_nothrow_assignable ^ In file included from /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/styles/color.hpp:31:0, from /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/styles/font.hpp:30, from /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/cell/rich_text_run.hpp:29, from /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/cell/rich_text.hpp:31, from /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/cell/cell.hpp:34, from /data/home/amber.ou/src/amber_test/xlnt-master/source/cell/cell.cpp:29: /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/utils/optional.hpp: In instantiation of 'class xlnt::optional': /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/worksheet/pane.hpp:62:30: required from here /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/utils/optional.hpp:50:99: error: no match for 'operator&&' (operand types are 'std::is_nothrow_move_constructible' and 'std::is_nothrow_move_assignable') using set_move_noexcept_t = typename std::conditional<std::is_nothrow_move_constructible{} && std::is_nothrow_move_assignable{}, std::true_type, std::false_type>::type; ^ /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/utils/optional.hpp:50:99: note: candidate is: /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/utils/optional.hpp:50:99: note: operator&&(std::integral_constant<bool, true>::value_type {aka bool}, bool) /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/utils/optional.hpp:50:99: note: no known conversion for argument 2 from 'std::is_nothrow_move_assignable' to 'bool' In file included from /data/home/amber.ou/src/amber_test/xlnt-master/source/cell/cell.cpp:29:0: /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/cell/cell.hpp:83:16: warning: unused parameter 'rhs' [-Wunused-parameter] class XLNT_API cell ^ /data/home/amber.ou/src/amber_test/xlnt-master/source/cell/cell.cpp:365:42: note: synthesized method 'xlnt::cell& xlnt::cell::operator=(const xlnt::cell&)' first required here cell &cell::operator=(const cell &rhs) = default; ^ [ 12%] Building CXX object source/CMakeFiles/xlnt.dir/cell/rich_text_run.cpp.o In file included from /data/home/amber.ou/src/amber_test/xlnt-master/source/cell/cell.cpp:55:0: /data/home/amber.ou/src/amber_test/xlnt-master/source/../source/detail/implementations/cell_impl.hpp: In instantiation of 'std::detail::_Hash_node<_Value, true>::_Hash_node(_Args&& ...) [with _Args = {const std::pair<const xlnt::cell_reference, xlnt::detail::cell_impl>&}; _Value = std::pair<const xlnt::cell_reference, xlnt::detail::cell_impl>]': /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/ext/new_allocator.h:120:4: required from 'void gnu_cxx::new_allocator< >::construct(_Up*, _Args&& ...) [with _Up = std::detail::_Hash_node<std::pair<const xlnt::cell_reference, xlnt::detail::cell_impl>, true>; _Args = {const std::pair<const xlnt::cell_reference, xlnt::detail::cell_impl>&}; _Tp = std::detail::_Hash_node<std::pair<const xlnt::cell_reference, xlnt::detail::cell_impl>, true>]' /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/bits/hashtable.h:727:6: required from 'std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>::node_type* std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>::_M_allocate_node(_Args&& ...) [with _Args = {const std::pair<const xlnt::cell_reference, xlnt::detail::cell_impl>&}; _Key = xlnt::cell_reference; _Value = std::pair<const xlnt::cell_reference, xlnt::detail::cell_impl>; _Alloc = std::allocator<std::pair<const xlnt::cell_reference, xlnt::detail::cell_impl> >; _ExtractKey = std::detail::_Select1st; _Equal = std::equal_to; _H1 = std::hash; _H2 = std::detail::_Mod_range_hashing; _Hash = std::detail::_Default_ranged_hash; _RehashPolicy = std::detail::_Prime_rehash_policy; _Traits = std::detail::_Hashtable_traits<true, false, true>; std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>::node_type = std::detail::_Hash_node<std::pair<const xlnt::cell_reference, xlnt::detail::cell_impl>, true>]' /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/bits/hashtable.h:898:57: required from 'std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>::_Hashtable(const std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>&) [with _Key = xlnt::cell_reference; _Value = std::pair<const xlnt::cell_reference, xlnt::detail::cell_impl>; _Alloc = std::allocator<std::pair<const xlnt::cell_reference, xlnt::detail::cell_impl> >; _ExtractKey = std::detail::_Select1st; _Equal = std::equal_to; _H1 = std::hash; _H2 = std::detail::_Mod_range_hashing; _Hash = std::detail::_Default_ranged_hash; _RehashPolicy = std::detail::_Prime_rehash_policy; _Traits = std::detail::_Hashtable_traits<true, false, true>]' /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/bits/hashtable.h:425:23: required from 'std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>& std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>::operator=(const std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>&) [with _Key = xlnt::cell_reference; _Value = std::pair<const xlnt::cell_reference, xlnt::detail::cell_impl>; _Alloc = std::allocator<std::pair<const xlnt::cell_reference, xlnt::detail::cell_impl> >; _ExtractKey = std::detail::_Select1st; _Equal = std::equal_to; _H1 = std::hash; _H2 = std::detail::_Mod_range_hashing; _Hash = std::detail::_Default_ranged_hash; _RehashPolicy = std::detail::_Prime_rehash_policy; _Traits = std::detail::_Hashtable_traits<true, false, true>]' /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/bits/unordered_map.h:97:11: required from here /data/home/amber.ou/src/amber_test/xlnt-master/source/../source/detail/implementations/cell_impl.hpp:46:5: warning: unused parameter 'other' [-Wunused-parameter] cell_impl(const cell_impl &other) = default; ^ In file included from /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/utility:70:0, from /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/algorithm:60, from /data/home/amber.ou/src/amber_test/xlnt-master/source/cell/cell.cpp:25: /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/bits/stl_pair.h:127:17: note: synthesized method 'xlnt::detail::cell_impl::cell_impl(const xlnt::detail::cell_impl&)' first required here constexpr pair(const pair&) = default; ^ In file included from /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/bits/hashtable.h:35:0, from /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/unordered_map:47, from /data/home/amber.ou/src/amber_test/xlnt-master/source/../include/xlnt/cell/cell.hpp:29, from /data/home/amber.ou/src/amber_test/xlnt-master/source/cell/cell.cpp:29: /data/opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/bits/hashtable_policy.h:177:55: note: synthesized method 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_T1, _T2>&) [with _T1 = const xlnt::cell_reference; _T2 = xlnt::detail::cell_impl]' first required here : _M_v(std::forward<_Args>(args)...), _M_hash_code() { } ^ [ 13%] Building CXX object source/CMakeFiles/xlnt.dir/drawing/spreadsheet_drawing.cpp.o make[2]: [source/CMakeFiles/xlnt.dir/build.make:63: source/CMakeFiles/xlnt.dir/cell/cell.cpp.o] Error 1 make[2]: Waiting for unfinished jobs.... make[1]: [CMakeFiles/Makefile2:177: source/CMakeFiles/xlnt.dir/all] Error 2 make: [Makefile:139: all] Error 2

conan-biu commented 4 years ago

I have met the same problem. I guess it caused by gcc version.