A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/fmtlib/fmt/issues/4331 below:

Compilation error in color.h with gcc 8.3 · Issue #4331 · fmtlib/fmt · GitHub

With v11.1.3, I get the following compiler error:

In file included from /software/fmttest/fmt/include/fmt/format.h:41,
                 from /software/fmttest/fmt/include/fmt/color.h:11,
                 from /software/fmttest/main.cpp:1:
/software/fmttest/fmt/include/fmt/base.h: In instantiation of 'struct fmt::v11::detail::is_output_iterator<fmt::v11::detail::buffer<char>, char, void>':
/software/fmttest/fmt/include/fmt/base.h:2804:11:   required by substitution of 'template<class OutputIt, typename std::enable_if<fmt::v11::detail::is_output_iterator<typename std::remove_cv<typename std::remove_reference<_Tp>::type>::type, char>::value, int>::type <anonymous> > fmt::v11::remove_cvref_t<T> fmt::v11::vformat_to(OutputIt&&, fmt::v11::string_view, fmt::v11::format_args) [with OutputIt = fmt::v11::detail::buffer<char>&; typename std::enable_if<fmt::v11::detail::is_output_iterator<typename std::remove_cv<typename std::remove_reference<_Tp>::type>::type, char>::value, int>::type <anonymous> = <missing>]'
/software/fmttest/fmt/include/fmt/color.h:463:13:   required from 'void fmt::v11::detail::vformat_to(fmt::v11::detail::buffer<T>&, const fmt::v11::text_style&, fmt::v11::basic_string_view<Char>, fmt::v11::basic_format_args<typename std::conditional<std::is_same<Char, char>::value, fmt::v11::context, fmt::v11::generic_context<fmt::v11::basic_appender<Char>, Char> >::type>) [with Char = char; typename std::conditional<std::is_same<Char, char>::value, fmt::v11::context, fmt::v11::generic_context<fmt::v11::basic_appender<Char>, Char> >::type = fmt::v11::context]'
/software/fmttest/fmt/include/fmt/color.h:471:40:   required from here
/software/fmttest/fmt/include/fmt/base.h:2266:50: error: no 'operator++(int)' declared for postfix '++' [-fpermissive]
     void_t<decltype(*std::declval<decay_t<It>&>()++ = std::declval<T>())>>
                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/software/fmttest/fmt/include/fmt/base.h:2266:50: error: no 'operator++(int)' declared for postfix '++' [-fpermissive]
make[2]: *** [CMakeFiles/fmttest.dir/build.make:76: CMakeFiles/fmttest.dir/main.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:100: CMakeFiles/fmttest.dir/all] Error 2

Minimal example to reproduce:

#include "fmt/color.h"

int main() {
    return 0;
}

I tried setting different language versions (C++11 up to C++20), but that didn't make a difference.

I am aware that gcc 8.3 is outdated, this is for an embedded project and updating the compiler quite a pain. So I'm hoping there's an easy fix, but I would totally understand it's no longer supported.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4