g++ -O3 -march=native -ffast-math -funroll-loops -std=c++20 -static -DNDEBUG -DEVALFILE_PATH=\"./nnue.bin\" -c Prelude.cpp -o Prelude.o
Prelude.cpp:196:35: error: the type ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} of ‘constexpr’ variable ‘Colors::reset’ is not literal
  196 |     constexpr static const string reset = "\033[0m";
      |                                   ^~~~~
In file included from /usr/include/c++/11/string:55,
                 from /usr/include/c++/11/bits/locale_classes.h:40,
                 from /usr/include/c++/11/bits/ios_base.h:41,
                 from /usr/include/c++/11/ios:42,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from Prelude.cpp:23:
/usr/include/c++/11/bits/basic_string.h:85:11: note: ‘std::__cxx11::basic_string<char>’ is not literal because:
   85 |     class basic_string
      |           ^~~~~~~~~~~~
/usr/include/c++/11/bits/basic_string.h:85:11: note:   ‘std::__cxx11::basic_string<char>’ does not have ‘constexpr’ destructor
Prelude.cpp:196:35: error: in-class initialization of static data member ‘const string Colors::reset’ of non-literal type
  196 |     constexpr static const string reset = "\033[0m";
      |                                   ^~~~~
Prelude.cpp:199:35: error: the type ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} of ‘constexpr’ variable ‘Colors::black’ is not literal
  199 |     constexpr static const string black = "\033[30m";
      |                                   ^~~~~
Prelude.cpp:199:35: error: in-class initialization of static data member ‘const string Colors::black’ of non-literal type
Prelude.cpp:200:35: error: the type ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} of ‘constexpr’ variable ‘Colors::red’ is not literal
  200 |     constexpr static const string red = "\033[31m";
      |                                   ^~~
Prelude.cpp:200:35: error: in-class initialization of static data member ‘const string Colors::red’ of non-literal type
Prelude.cpp:201:35: error: the type ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} of ‘constexpr’ variable ‘Colors::green’ is not literal
  201 |     constexpr static const string green = "\033[32m";
      |                                   ^~~~~
Prelude.cpp:201:35: error: in-class initialization of static data member ‘const string Colors::green’ of non-literal type
Prelude.cpp:202:35: error: the type ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} of ‘constexpr’ variable ‘Colors::yellow’ is not literal
  202 |     constexpr static const string yellow = "\033[33m";
      |                                   ^~~~~~
Prelude.cpp:202:35: error: in-class initialization of static data member ‘const string Colors::yellow’ of non-literal type
Prelude.cpp:203:35: error: the type ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} of ‘constexpr’ variable ‘Colors::blue’ is not literal
  203 |     constexpr static const string blue = "\033[34m";
      |                                   ^~~~
Prelude.cpp:203:35: error: in-class initialization of static data member ‘const string Colors::blue’ of non-literal type
Prelude.cpp:204:35: error: the type ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} of ‘constexpr’ variable ‘Colors::magenta’ is not literal
  204 |     constexpr static const string magenta = "\033[35m";
      |                                   ^~~~~~~
Prelude.cpp:204:35: error: in-class initialization of static data member ‘const string Colors::magenta’ of non-literal type
Prelude.cpp:205:35: error: the type ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} of ‘constexpr’ variable ‘Colors::cyan’ is not literal
  205 |     constexpr static const string cyan = "\033[36m";
      |                                   ^~~~
Prelude.cpp:205:35: error: in-class initialization of static data member ‘const string Colors::cyan’ of non-literal type
Prelude.cpp:206:35: error: the type ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} of ‘constexpr’ variable ‘Colors::white’ is not literal
  206 |     constexpr static const string white = "\033[37m";
      |                                   ^~~~~
Prelude.cpp:206:35: error: in-class initialization of static data member ‘const string Colors::white’ of non-literal type
Prelude.cpp:209:35: error: the type ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} of ‘constexpr’ variable ‘Colors::bright_black’ is not literal
  209 |     constexpr static const string bright_black = "\033[90m";
      |                                   ^~~~~~~~~~~~
Prelude.cpp:209:35: error: in-class initialization of static data member ‘const string Colors::bright_black’ of non-literal type
Prelude.cpp:210:35: error: the type ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} of ‘constexpr’ variable ‘Colors::bright_red’ is not literal
  210 |     constexpr static const string bright_red = "\033[91m";
      |                                   ^~~~~~~~~~
Prelude.cpp:210:35: error: in-class initialization of static data member ‘const string Colors::bright_red’ of non-literal type
Prelude.cpp:211:35: error: the type ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} of ‘constexpr’ variable ‘Colors::bright_green’ is not literal
  211 |     constexpr static const string bright_green = "\033[92m";
      |                                   ^~~~~~~~~~~~
Prelude.cpp:211:35: error: in-class initialization of static data member ‘const string Colors::bright_green’ of non-literal type
Prelude.cpp:212:35: error: the type ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} of ‘constexpr’ variable ‘Colors::bright_yellow’ is not literal
  212 |     constexpr static const string bright_yellow = "\033[93m";
      |                                   ^~~~~~~~~~~~~
Prelude.cpp:212:35: error: in-class initialization of static data member ‘const string Colors::bright_yellow’ of non-literal type
Prelude.cpp:213:35: error: the type ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} of ‘constexpr’ variable ‘Colors::bright_blue’ is not literal
  213 |     constexpr static const string bright_blue = "\033[94m";
      |                                   ^~~~~~~~~~~
Prelude.cpp:213:35: error: in-class initialization of static data member ‘const string Colors::bright_blue’ of non-literal type
Prelude.cpp:214:35: error: the type ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} of ‘constexpr’ variable ‘Colors::bright_magenta’ is not literal
  214 |     constexpr static const string bright_magenta = "\033[95m";
      |                                   ^~~~~~~~~~~~~~
Prelude.cpp:214:35: error: in-class initialization of static data member ‘const string Colors::bright_magenta’ of non-literal type
Prelude.cpp:215:35: error: the type ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} of ‘constexpr’ variable ‘Colors::bright_cyan’ is not literal
  215 |     constexpr static const string bright_cyan = "\033[96m";
      |                                   ^~~~~~~~~~~
Prelude.cpp:215:35: error: in-class initialization of static data member ‘const string Colors::bright_cyan’ of non-literal type
Prelude.cpp:216:35: error: the type ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} of ‘constexpr’ variable ‘Colors::bright_white’ is not literal
  216 |     constexpr static const string bright_white = "\033[97m";
      |                                   ^~~~~~~~~~~~
Prelude.cpp:216:35: error: in-class initialization of static data member ‘const string Colors::bright_white’ of non-literal type
Prelude.cpp:218:35: error: the type ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} of ‘constexpr’ variable ‘Colors::grey’ is not literal
  218 |     constexpr static const string grey = bright_black;
      |                                   ^~~~
Prelude.cpp:218:35: error: in-class initialization of static data member ‘const string Colors::grey’ of non-literal type
Prelude.cpp: In function ‘std::string abbreviateNum(i64)’:
Prelude.cpp:380:37: error: ‘format’ is not a member of ‘std’
  380 |     if (v > 1000000000) return std::format("{:.2f} g", v / 1000000000.0);
      |                                     ^~~~~~
Prelude.cpp:381:34: error: ‘format’ is not a member of ‘std’
  381 |     if (v > 1000000) return std::format("{:.2f} m", v / 1000000.0);
      |                                  ^~~~~~
Prelude.cpp:382:31: error: ‘format’ is not a member of ‘std’
  382 |     if (v > 1000) return std::format("{:.2f} k", v / 1000.0);
      |                               ^~~~~~
Prelude.cpp: In function ‘constexpr int antiDiagonalOf(Square)’:
Prelude.cpp:580:59: warning: arithmetic between different enumeration types ‘Rank’ and ‘File’ is deprecated [-Wdeprecated-enum-enum-conversion]
  580 | constexpr int antiDiagonalOf(Square s) { return rankOf(s) + fileOf(s); }
      |                                                 ~~~~~~~~~~^~~~~~~~~~~
Prelude.cpp: In function ‘constexpr u64 getRookAttacks(Square, u64)’:
Prelude.cpp:707:1: error: the value of ‘ROOK_ATTACKS’ is not usable in a constant expression
  707 | }
      | ^
Prelude.cpp:660:5: note: ‘ROOK_ATTACKS’ was not declared ‘constexpr’
  660 | u64 ROOK_ATTACKS[64][4096];
      |     ^~~~~~~~~~~~
Prelude.cpp: In function ‘constexpr u64 getBishopAttacks(Square, u64)’:
Prelude.cpp:773:1: error: the value of ‘BISHOP_ATTACKS’ is not usable in a constant expression
  773 | }
      | ^
Prelude.cpp:726:5: note: ‘BISHOP_ATTACKS’ was not declared ‘constexpr’
  726 | u64 BISHOP_ATTACKS[64][512];
      |     ^~~~~~~~~~~~~~
Prelude.cpp: In function ‘MoveEvaluation iterativeDeepening(Board&, int, std::atomic<bool>&, int, int, int, int, int, int, int)’:
Prelude.cpp:3104:40: error: ‘setprecision’ is not a member of ‘std’
 3104 |             cout << std::fixed << std::setprecision(2);
      |                                        ^~~~~~~~~~~~
Prelude.cpp:3106:78: error: ‘format’ is not a member of ‘std’
 3106 |             const string fancyEval = (bestMove.eval > 0 ? '+' : '\0') + std::format("{:.2f}", bestMove.eval / 100.0);
      |                                                                              ^~~~~~
Prelude.cpp:3115:33: error: ‘format’ is not a member of ‘std’
 3115 |             cout << padStr(std::format("{:.1f}%", hashPercent), 9);
      |                                 ^~~~~~
Prelude.cpp:3120:64: error: ‘setprecision’ is not a member of ‘std’
 3120 |             cout << Colors::reset << std::defaultfloat << std::setprecision(6) << endl;
      |                                                                ^~~~~~~~~~~~
Prelude.cpp: In function ‘std::string makeFileName()’:
Prelude.cpp:3327:27: error: ‘format’ is not a member of ‘std’
 3327 |     return "data-" + std::format("{:04}-{:02}-{:02}", tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday) + "-" + randomStr + ".preludedata";
      |                           ^~~~~~
Prelude.cpp: In function ‘void playGames()’:
Prelude.cpp:3394:45: error: ‘format’ is not a member of ‘std’
 3394 |         cout << "Positions/second: " + std::format("{:.2f}", avgPosPerSec) << endl;
      |                                             ^~~~~~
make: *** [makefile:33: Prelude.o] Error 1