maxr-dot-org / maxr

A turn based strategy game
https://www.maxr.org/forum.php
Other
25 stars 5 forks source link

Compilation error #17

Closed APoniatowski closed 1 year ago

APoniatowski commented 1 year ago

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 
APoniatowski commented 1 year ago

I have forked it and working on resolving it. I managed to resolve this build error and there was another build error

Jarod42 commented 1 year ago

Closed as PR is merged. Thanks for both report and fix.