I am getting the following while building on Arch linux when following the instructions:
$ cmake -DCMAKE_BUILD_TYPE=Release ..
CMake Deprecation Warning at CMakeLists.txt:2 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
-- The C compiler identification is GNU 13.2.1
-- The CXX compiler identification is GNU 13.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Setting cpp define PACKAGE_REV to release-0.2.12
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found SDL2: /usr/lib/libSDL2main.a;/usr/lib/libSDL2.so
-- Found SDL2_mixer: /usr/lib/libSDL2_mixer.so (found version "2.6.3")
-- Found SDL2_net: /usr/lib/libSDL2_net.so (found version "2.2.0")
-- Configuring done (0.7s)
-- Generating done (0.1s)
-- Build files have been written to: /home/adamp/Projects/maxr/build
$ make
[ 0%] Building C object CMakeFiles/SDL_flic.dir/src/3rd/SDL_flic/SDL_flic.c.o
[ 0%] Linking C static library libSDL_flic.a
[ 0%] Built target SDL_flic
[ 0%] Building CXX object CMakeFiles/mve_player.dir/src/3rd/mveplayer/mveplayer.cpp.o
[ 1%] Linking CXX static library libmve_player.a
[ 1%] Built target mve_player
[ 2%] Building CXX object CMakeFiles/maxr_lib.dir/src/lib/SDLutility/drawing.cpp.o
[ 2%] Building CXX object CMakeFiles/maxr_lib.dir/src/lib/SDLutility/sdlcomponent.cpp.o
[ 2%] Building CXX object CMakeFiles/maxr_lib.dir/src/lib/SDLutility/sdlnetcomponent.cpp.o
[ 3%] Building CXX object CMakeFiles/maxr_lib.dir/src/lib/SDLutility/tosdl.cpp.o
[ 3%] Building CXX object CMakeFiles/maxr_lib.dir/src/lib/chatcommand/chatcommand.cpp.o
[ 3%] Building CXX object CMakeFiles/maxr_lib.dir/src/lib/chatcommand/chatcommandarguments.cpp.o
[ 4%] Building CXX object CMakeFiles/maxr_lib.dir/src/lib/chatcommand/chatcommandparser.cpp.o
[ 4%] Building CXX object CMakeFiles/maxr_lib.dir/src/lib/crashreporter/debug.cpp.o
[ 4%] Building CXX object CMakeFiles/maxr_lib.dir/src/lib/events/eventmanager.cpp.o
[ 4%] Building CXX object CMakeFiles/maxr_lib.dir/src/lib/events/keyboardevents.cpp.o
[ 5%] Building CXX object CMakeFiles/maxr_lib.dir/src/lib/events/mouseevents.cpp.o
[ 5%] Building CXX object CMakeFiles/maxr_lib.dir/src/lib/game/connectionmanager.cpp.o
In file included from /home/adamp/Projects/maxr/src/lib/game/connectionmanager.cpp:20:
/home/adamp/Projects/maxr/src/lib/game/connectionmanager.h: In member function ‘virtual std::unique_ptr<cNetMessage> INetMessageReceiver::popMessage()’:
/home/adamp/Projects/maxr/src/lib/game/connectionmanager.h:41:72: error: ‘runtime_error’ is not a member of ‘std’
41 | virtual std::unique_ptr<cNetMessage> popMessage() { throw std::runtime_error ("Method not implemented"); }
| ^~~~~~~~~~~~~
/home/adamp/Projects/maxr/src/lib/game/connectionmanager.h:26:1: note: ‘std::runtime_error’ is defined in header ‘<stdexcept>’; did you forget to ‘#include <stdexcept>’?
25 | #include <vector>
+++ |+#include <stdexcept>
26 |
/home/adamp/Projects/maxr/src/lib/game/connectionmanager.h:41:114: warning: no return statement in function returning non-void [-Wreturn-type]
41 | virtual std::unique_ptr<cNetMessage> popMessage() { throw std::runtime_error ("Method not implemented"); }
| ^
make[2]: *** [CMakeFiles/maxr_lib.dir/build.make:230: CMakeFiles/maxr_lib.dir/src/lib/game/connectionmanager.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:145: CMakeFiles/maxr_lib.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
gcc version 13.2.1 20230801 (GCC)
cmake version 3.27.4
I am getting the following while building on Arch linux when following the instructions: