https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108062
--- Comment #6 from Jamaika <lukaszcz18 at wp dot pl> --- Thanks Jonathan Thanks for the quick fix of the given errors. I realize that there may be other errors not necessarily from gcc. Test new codecs HTJPEG2000 C++20 Grok with spdlog 1.11.0 for Windows 10 In file included from c:\gcc1300\x86_64-w64-mingw32\include\spdlog\fmt\fmt.h:14, from c:\gcc1300\x86_64-w64-mingw32\include\spdlog\common.h:50, from c:\gcc1300\x86_64-w64-mingw32\include\spdlog\spdlog.h:12, from common.h:40, from PNMFormat.cpp:29: c:\gcc1300\include\c++\13.0.0\format: In instantiation of 'static std::basic_format_args<_Context>::_Store<_Args>::_Element_t std::basic_format_args<_Context>::_Store<_Args>::_S_make_elt(_Tp&) [with _Tp = PNM_COLOUR_SPACE; _Args = {std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle, std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle}; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>; _Element_t = std::basic_format_args<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::_Store<std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle, std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle>::_Element_t]': c:\gcc1300\include\c++\13.0.0\format:3248:25: required from 'std::basic_format_args<_Context>::_Store<_Args>::_Store(_Tp& ...) [with _Tp = {PNM_COLOUR_SPACE, PNM_COLOUR_SPACE}; _Args = {std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle, std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle}; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>]' c:\gcc1300\include\c++\13.0.0\format:3300:14: required from 'auto std::make_format_args(_Args&& ...) [with _Context = basic_format_context<__format::_Sink_iter<char>, char>; _Args = {PNM_COLOUR_SPACE&, PNM_COLOUR_SPACE&}]' c:\gcc1300\x86_64-w64-mingw32\include\spdlog\logger.h:372:88: required from 'void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {PNM_COLOUR_SPACE&, PNM_COLOUR_SPACE&}; spdlog::string_view_t = std::basic_string_view<char>]' c:\gcc1300\x86_64-w64-mingw32\include\spdlog\logger.h:90:13: required from 'void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {PNM_COLOUR_SPACE&, PNM_COLOUR_SPACE&}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]' c:\gcc1300\x86_64-w64-mingw32\include\spdlog\logger.h:96:12: required from 'void spdlog::logger::log(spdlog::level::level_enum, spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {PNM_COLOUR_SPACE&, PNM_COLOUR_SPACE&}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]' c:\gcc1300\x86_64-w64-mingw32\include\spdlog\logger.h:164:12: required from 'void spdlog::logger::warn(spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {PNM_COLOUR_SPACE&, PNM_COLOUR_SPACE&}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]' c:\gcc1300\x86_64-w64-mingw32\include\spdlog\spdlog.h:167:31: required from 'void spdlog::warn(format_string_t<Args ...>, Args&& ...) [with Args = {PNM_COLOUR_SPACE&, PNM_COLOUR_SPACE&}; format_string_t<Args ...> = std::basic_string_view<char>]' PNMFormat.cpp:600:16: required from here c:\gcc1300\include\c++\13.0.0\format:3237:40: error: no matching function for call to 'std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::basic_format_arg(PNM_COLOUR_SPACE&)' 3237 | basic_format_arg<_Context> __arg(__v); | ^~~~~ c:\gcc1300\include\c++\13.0.0\format:3005:9: note: candidate: 'template<class _Tp> requires __formattable_with<_Tp, _Context, typename _Context::formatter_type<typename std::remove_const<_Tp>::type>, std::basic_format_parse_context<typename _Context::char_type> > std::basic_format_arg<_Context>::basic_format_arg(_Tp&) [with _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>]' 3005 | basic_format_arg(_Tp& __v) noexcept | ^~~~~~~~~~~~~~~~ c:\gcc1300\include\c++\13.0.0\format:3005:9: note: template argument deduction/substitution failed: c:\gcc1300\include\c++\13.0.0\format:3005:9: note: constraints not satisfied In file included from c:\gcc1300\include\c++\13.0.0\compare:37, from c:\gcc1300\include\c++\13.0.0\bits\char_traits.h:48, from c:\gcc1300\include\c++\13.0.0\string:42, from IImageFormat.h:21, from ImageFormat.h:20, from PNMFormat.h:19, from PNMFormat.cpp:26: c:\gcc1300\include\c++\13.0.0\concepts: In substitution of 'template<class _Tp> requires __formattable_with<_Tp, _Context, typename _Context::formatter_type<typename std::remove_const<_Tp>::type>, std::basic_format_parse_context<typename _Context::char_type> > std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::basic_format_arg(_Tp&) [with _Tp = std::basic_format_context<std::__format::_Sink_iter<char>, char>]': c:\gcc1300\include\c++\13.0.0\format:3237:33: required from 'static std::basic_format_args<_Context>::_Store<_Args>::_Element_t std::basic_format_args<_Context>::_Store<_Args>::_S_make_elt(_Tp&) [with _Tp = PNM_COLOUR_SPACE; _Args = {std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle, std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle}; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>; _Element_t = std::basic_format_args<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::_Store<std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle, std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle>::_Element_t]' c:\gcc1300\include\c++\13.0.0\format:3248:25: required from 'std::basic_format_args<_Context>::_Store<_Args>::_Store(_Tp& ...) [with _Tp = {PNM_COLOUR_SPACE, PNM_COLOUR_SPACE}; _Args = {std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle, std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle}; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>]' c:\gcc1300\include\c++\13.0.0\format:3300:14: required from 'auto std::make_format_args(_Args&& ...) [with _Context = basic_format_context<__format::_Sink_iter<char>, char>; _Args = {PNM_COLOUR_SPACE&, PNM_COLOUR_SPACE&}]' c:\gcc1300\x86_64-w64-mingw32\include\spdlog\logger.h:372:88: required from 'void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {PNM_COLOUR_SPACE&, PNM_COLOUR_SPACE&}; spdlog::string_view_t = std::basic_string_view<char>]' c:\gcc1300\x86_64-w64-mingw32\include\spdlog\logger.h:90:13: required from 'void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {PNM_COLOUR_SPACE&, PNM_COLOUR_SPACE&}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]' c:\gcc1300\x86_64-w64-mingw32\include\spdlog\logger.h:96:12: required from 'void spdlog::logger::log(spdlog::level::level_enum, spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {PNM_COLOUR_SPACE&, PNM_COLOUR_SPACE&}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]' c:\gcc1300\x86_64-w64-mingw32\include\spdlog\logger.h:164:12: required from 'void spdlog::logger::warn(spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {PNM_COLOUR_SPACE&, PNM_COLOUR_SPACE&}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]' c:\gcc1300\x86_64-w64-mingw32\include\spdlog\spdlog.h:167:31: required from 'void spdlog::warn(format_string_t<Args ...>, Args&& ...) [with Args = {PNM_COLOUR_SPACE&, PNM_COLOUR_SPACE&}; format_string_t<Args ...> = std::basic_string_view<char>]' PNMFormat.cpp:600:16: required from here c:\gcc1300\include\c++\13.0.0\concepts:152:13: required for the satisfaction of 'constructible_from<_Tp, _Tp>' [with _Tp = std::formatter<PNM_COLOUR_SPACE, char>] c:\gcc1300\include\c++\13.0.0\concepts:166:13: required for the satisfaction of 'move_constructible<_Tp>' [with _Tp = std::formatter<PNM_COLOUR_SPACE, char>] c:\gcc1300\include\c++\13.0.0\concepts:171:13: required for the satisfaction of 'copy_constructible<_Tp>' [with _Tp = std::formatter<PNM_COLOUR_SPACE, char>] c:\gcc1300\include\c++\13.0.0\concepts:267:13: required for the satisfaction of 'copyable<_Tp>' [with _Tp = std::formatter<PNM_COLOUR_SPACE, char>] c:\gcc1300\include\c++\13.0.0\concepts:272:13: required for the satisfaction of 'semiregular<_Formatter>' [with _Formatter = std::formatter<PNM_COLOUR_SPACE, char>] c:\gcc1300\include\c++\13.0.0\format:2213:13: required for the satisfaction of '__formattable_with<_Tp, _Context, typename _Context::formatter_type<typename std::remove_const<_Tp>::type>, std::basic_format_parse_context<typename _Context::char_type> >' [with _Tp = PNM_COLOUR_SPACE; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>] c:\gcc1300\include\c++\13.0.0\concepts:153:30: note: the expression 'is_constructible_v<_Tp, _Args ...> [with _Tp = std::formatter<PNM_COLOUR_SPACE, char>; _Args = {std::formatter<PNM_COLOUR_SPACE, char>}]' evaluated to 'false' 153 | = destructible<_Tp> && is_constructible_v<_Tp, _Args...>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ c:\gcc1300\include\c++\13.0.0\format: In instantiation of 'static std::basic_format_args<_Context>::_Store<_Args>::_Element_t std::basic_format_args<_Context>::_Store<_Args>::_S_make_elt(_Tp&) [with _Tp = PNM_COLOUR_SPACE; _Args = {std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle, std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle}; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>; _Element_t = std::basic_format_args<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::_Store<std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle, std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle>::_Element_t]': c:\gcc1300\include\c++\13.0.0\format:3248:25: required from 'std::basic_format_args<_Context>::_Store<_Args>::_Store(_Tp& ...) [with _Tp = {PNM_COLOUR_SPACE, PNM_COLOUR_SPACE}; _Args = {std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle, std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::handle}; _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>]' c:\gcc1300\include\c++\13.0.0\format:3300:14: required from 'auto std::make_format_args(_Args&& ...) [with _Context = basic_format_context<__format::_Sink_iter<char>, char>; _Args = {PNM_COLOUR_SPACE&, PNM_COLOUR_SPACE&}]' c:\gcc1300\x86_64-w64-mingw32\include\spdlog\logger.h:372:88: required from 'void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {PNM_COLOUR_SPACE&, PNM_COLOUR_SPACE&}; spdlog::string_view_t = std::basic_string_view<char>]' c:\gcc1300\x86_64-w64-mingw32\include\spdlog\logger.h:90:13: required from 'void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {PNM_COLOUR_SPACE&, PNM_COLOUR_SPACE&}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]' c:\gcc1300\x86_64-w64-mingw32\include\spdlog\logger.h:96:12: required from 'void spdlog::logger::log(spdlog::level::level_enum, spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {PNM_COLOUR_SPACE&, PNM_COLOUR_SPACE&}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]' c:\gcc1300\x86_64-w64-mingw32\include\spdlog\logger.h:164:12: required from 'void spdlog::logger::warn(spdlog::format_string_t<Args ...>, Args&& ...) [with Args = {PNM_COLOUR_SPACE&, PNM_COLOUR_SPACE&}; spdlog::format_string_t<Args ...> = std::basic_string_view<char>]' c:\gcc1300\x86_64-w64-mingw32\include\spdlog\spdlog.h:167:31: required from 'void spdlog::warn(format_string_t<Args ...>, Args&& ...) [with Args = {PNM_COLOUR_SPACE&, PNM_COLOUR_SPACE&}; format_string_t<Args ...> = std::basic_string_view<char>]' PNMFormat.cpp:600:16: required from here c:\gcc1300\include\c++\13.0.0\format:2820:7: note: candidate: 'std::basic_format_arg<_Context>::basic_format_arg() [with _Context = std::basic_format_context<std::__format::_Sink_iter<char>, char>]' 2820 | basic_format_arg() noexcept : _M_type(__format::_Arg_none) { } | ^~~~~~~~~~~~~~~~ c:\gcc1300\include\c++\13.0.0\format:2820:7: note: candidate expects 0 arguments, 1 provided c:\gcc1300\include\c++\13.0.0\format:2758:11: note: candidate: 'constexpr std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::basic_format_arg(const std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >&)' 2758 | class basic_format_arg | ^~~~~~~~~~~~~~~~ c:\gcc1300\include\c++\13.0.0\format:2758:11: note: no known conversion for argument 1 from 'PNM_COLOUR_SPACE' to 'const std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >&' c:\gcc1300\include\c++\13.0.0\format:2758:11: note: candidate: 'constexpr std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >::basic_format_arg(std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >&&)' c:\gcc1300\include\c++\13.0.0\format:2758:11: note: no known conversion for argument 1 from 'PNM_COLOUR_SPACE' to 'std::basic_format_arg<std::basic_format_context<std::__format::_Sink_iter<char>, char> >&&' TIFFFormat.cpp: In function 'void set_resolution(double*, float, float, short int)': TIFFFormat.cpp:697:18: error: 'floor' was not declared in this scope; did you mean 'std::chrono::floor'? 697 | res[i] = floor(res[i]+0.5); | ^~~~~ | std::chrono::floor In file included from c:\gcc1300\include\c++\13.0.0\mutex:44, from ImageFormat.h:25, from TIFFFormat.h:30, from TIFFFormat.cpp:29: c:\gcc1300\include\c++\13.0.0\bits\chrono.h:1023:7: note: 'std::chrono::floor' declared here 1023 | floor(const time_point<_Clock, _Dur>& __tp) | ^~~~~