Rogier-5 / minetest-mapper-cpp

Generates maps of minetest and freeminer worlds
Other
9 stars 4 forks source link

Can´t compile Programm #1

Closed JPRuehmann closed 10 years ago

JPRuehmann commented 10 years ago

If I try to compile I get the following errord.

Scanning dependencies of target minetestmapper [ 11%] Building CXX object CMakeFiles/minetestmapper.dir/PixelAttributes.cpp.o [ 22%] Building CXX object CMakeFiles/minetestmapper.dir/PlayerAttributes.cpp.o
[ 33%] Building CXX object CMakeFiles/minetestmapper.dir/TileGenerator.cpp.o
In file included from /home/ruehmann/minetest-mapper-cpp/TileGenerator.h:28:0, from /home/ruehmann/minetest-mapper-cpp/TileGenerator.cpp:23: /home/ruehmann/minetest-mapper-cpp/BlockPos.h:15:22: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default] int &x = dimension[0]; ^ /home/ruehmann/minetest-mapper-cpp/BlockPos.h:16:22: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default] int &y = dimension[1]; ^ /home/ruehmann/minetest-mapper-cpp/BlockPos.h:17:22: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default] int &z = dimension[2]; ^ /home/ruehmann/minetest-mapper-cpp/BlockPos.h: In constructor ‘BlockPos::BlockPos()’: /home/ruehmann/minetest-mapper-cpp/BlockPos.h:23:15: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default] BlockPos() : dimension{0, 0, 0} {} ^ /home/ruehmann/minetest-mapper-cpp/BlockPos.h: In constructor ‘BlockPos::BlockPos(int, int, int)’: /home/ruehmann/minetest-mapper-cpp/BlockPos.h:24:37: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default] BlockPos(int _x, int _y, int _z) : dimension{_x, _y, _z} {} ^ /home/ruehmann/minetest-mapper-cpp/BlockPos.h: In copy constructor ‘BlockPos::BlockPos(const BlockPos&)’: /home/ruehmann/minetest-mapper-cpp/BlockPos.h:25:34: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default] BlockPos(const BlockPos &pos) : dimension{pos.x, pos.y, pos.z} {} ^ In file included from /home/ruehmann/minetest-mapper-cpp/TileGenerator.h:28:0, from /home/ruehmann/minetest-mapper-cpp/TileGenerator.cpp:23: /home/ruehmann/minetest-mapper-cpp/BlockPos.h: At global scope: /home/ruehmann/minetest-mapper-cpp/BlockPos.h:50:26: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default] bool &xBlock = isBlock[0]; ^ /home/ruehmann/minetest-mapper-cpp/BlockPos.h:51:26: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default] bool &yBlock = isBlock[1]; ^ /home/ruehmann/minetest-mapper-cpp/BlockPos.h:52:26: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default] bool &zBlock = isBlock[2]; ^ /home/ruehmann/minetest-mapper-cpp/BlockPos.h: In constructor ‘NodeCoord::NodeCoord()’: /home/ruehmann/minetest-mapper-cpp/BlockPos.h:54:28: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default] NodeCoord() : BlockPos(), isBlock{false, false, false} {} ^ /home/ruehmann/minetest-mapper-cpp/BlockPos.h: In constructor ‘NodeCoord::NodeCoord(int, int, int)’: /home/ruehmann/minetest-mapper-cpp/BlockPos.h:55:60: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default] NodeCoord(int _x, int _y, int _z) : BlockPos(_x, _y, _z), isBlock{false, false, false} {} ^ /home/ruehmann/minetest-mapper-cpp/BlockPos.h: In constructor ‘NodeCoord::NodeCoord(const BlockPos&, bool)’: /home/ruehmann/minetest-mapper-cpp/BlockPos.h:56:69: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default] NodeCoord(const BlockPos &pos, bool node = false) : BlockPos(pos), isBlock{pos.x == Any ? false : !node, pos.y == Any ? false : !node, pos.z == Any ? false : !node} {} ^ In file included from /home/ruehmann/minetest-mapper-cpp/TileGenerator.h:28:0, from /home/ruehmann/minetest-mapper-cpp/TileGenerator.cpp:23: /home/ruehmann/minetest-mapper-cpp/BlockPos.h: In copy constructor ‘NodeCoord::NodeCoord(const NodeCoord&)’: /home/ruehmann/minetest-mapper-cpp/BlockPos.h:57:55: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default] NodeCoord(const NodeCoord &coord) : BlockPos(coord), isBlock{coord.xBlock, coord.yBlock, coord.zBlock} {} ^ /home/ruehmann/minetest-mapper-cpp/BlockPos.h: In constructor ‘NodeCoord::NodeCoord(int64_t)’: /home/ruehmann/minetest-mapper-cpp/BlockPos.h:58:25: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default] NodeCoord(int64_t i) : isBlock{true, true, true} { setFromDBPos(i); } ^ /home/ruehmann/minetest-mapper-cpp/BlockPos.h: At global scope: /home/ruehmann/minetest-mapper-cpp/BlockPos.h:88:9: error: ‘hash’ is not a class template struct hash ^ /home/ruehmann/minetest-mapper-cpp/BlockPos.h:89:2: error: explicit specialization of non-template ‘std::hash’ { ^ make[2]: * [CMakeFiles/minetestmapper.dir/TileGenerator.cpp.o] Fehler 1 make[1]: * [CMakeFiles/minetestmapper.dir/all] Fehler 2 make: *\ [all] Fehler 2

How can I compile? Kubuntu 12.04 LTS

Rogier-5 commented 10 years ago

The problem occurs if CMAKE_BUILD_TYPE is not set (or set to something else than 'Debug' or 'Release'.) I'll try and get a fix out tomorrow.

In the mean time, run cmake with CMAKE_BUILD_TYPE set to 'Debug' or 'Release':

cmake -DCMAKE_BUILD_TYPE=Release .