papou30 wrote: "Exception: Image format not supported by gd" So what is this "gd"??
papou30 wrote:A thousand thanks so I can have some "isometric maps". You have done an incredible job. Congratulations and thank you again.
$ make -j2
[ 9%] Building CXX object CMakeFiles/minetestmapper.dir/BlockDecoder.cpp.o
[ 18%] Building CXX object CMakeFiles/minetestmapper.dir/TileGenerator.cpp.o
In file included from /home/gael/Github/minetestmapper/BlockDecoder.cpp:7:0:
/home/gael/Github/minetestmapper/include/BlockDecoder.h:17:56: error: ‘>>’ should be ‘> >’ within a nested template argument list
typedef std::vector<std::pair<std::string, std::string>> NodeMetaData;
^
/home/gael/Github/minetestmapper/BlockDecoder.cpp: In member function ‘void BlockDecoder::decode(const ustring&)’:
/home/gael/Github/minetestmapper/BlockDecoder.cpp:208:30: error: ‘move’ is not a member of ‘std’
m_metaData[position] = std::move(nmd);
^
In file included from /home/gael/Github/minetestmapper/include/TileGenerator.h:18:0,
from /home/gael/Github/minetestmapper/TileGenerator.cpp:14:
/home/gael/Github/minetestmapper/include/BlockDecoder.h:17:56: error: ‘>>’ should be ‘> >’ within a nested template argument list
typedef std::vector<std::pair<std::string, std::string>> NodeMetaData;
^
CMakeFiles/minetestmapper.dir/build.make:62 : la recette pour la cible « CMakeFiles/minetestmapper.dir/BlockDecoder.cpp.o » a échouée
make[2]: *** [CMakeFiles/minetestmapper.dir/BlockDecoder.cpp.o] Erreur 1
make[2]: *** Attente des tâches non terminées....
In file included from /home/gael/Github/minetestmapper/TileGenerator.cpp:14:0:
/home/gael/Github/minetestmapper/include/TileGenerator.h: In member function ‘std::size_t Coords_hash::operator()(const Coords&) const’:
/home/gael/Github/minetestmapper/include/TileGenerator.h:64:16: error: ‘hash’ is not a member of ‘std’
return std::hash<int>()((static_cast<int>(v.first) << 16) + static_cast<int>(v.second));
^
/home/gael/Github/minetestmapper/include/TileGenerator.h:64:26: error: expected primary-expression before ‘int’
return std::hash<int>()((static_cast<int>(v.first) << 16) + static_cast<int>(v.second));
^
/home/gael/Github/minetestmapper/include/TileGenerator.h:64:26: error: expected ‘;’ before ‘int’
/home/gael/Github/minetestmapper/include/TileGenerator.h:64:29: error: expected unqualified-id before ‘>’ token
return std::hash<int>()((static_cast<int>(v.first) << 16) + static_cast<int>(v.second));
^
/home/gael/Github/minetestmapper/TileGenerator.cpp: In member function ‘void TileGenerator::generate(const string&, const string&)’:
/home/gael/Github/minetestmapper/TileGenerator.cpp:404:35: error: no matching function for call to ‘std::basic_ofstream<char>::open(std::__cxx11::basic_ostringstream<char>::__string_type, const openmode&)’
os.open(fn.str(), std::ios::out);
^
In file included from /home/gael/Github/minetestmapper/TileGenerator.cpp:4:0:
/usr/include/c++/5/fstream:799:7: note: candidate: void std::basic_ofstream<_CharT, _Traits>::open(const char*, std::ios_base::openmode) [with _CharT = char; _Traits = std::char_traits<char>; std::ios_base::openmode = std::_Ios_Openmode]
open(const char* __s,
^
/usr/include/c++/5/fstream:799:7: note: no known conversion for argument 1 from ‘std::__cxx11::basic_ostringstream<char>::__string_type {aka std::__cxx11::basic_string<char>}’ to ‘const char*’
/home/gael/Github/minetestmapper/TileGenerator.cpp: In function ‘int IsoColoredCube(Image*, int, int, int, int, const Color&, int)’:
/home/gael/Github/minetestmapper/TileGenerator.cpp:1116:36: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11
static double const brightness[] { 0.8, 0.6, 1.0 };
^
In file included from /usr/include/c++/5/set:60:0,
from /home/gael/Github/minetestmapper/TileGenerator.cpp:12:
/usr/include/c++/5/bits/stl_tree.h: In instantiation of ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::find(const _Key&) [with _Key = std::pair<short int, short int>; _Val = std::pair<short int, short int>; _KeyOfValue = std::_Identity<std::pair<short int, short int> >; _Compare = Coords_hash; _Alloc = std::allocator<std::pair<short int, short int> >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<short int, short int> >]’:
/usr/include/c++/5/bits/stl_set.h:695:29: required from ‘std::set<_Key, _Compare, _Alloc>::iterator std::set<_Key, _Compare, _Alloc>::find(const key_type&) [with _Key = std::pair<short int, short int>; _Compare = Coords_hash; _Alloc = std::allocator<std::pair<short int, short int> >; std::set<_Key, _Compare, _Alloc>::iterator = std::_Rb_tree_const_iterator<std::pair<short int, short int> >; std::set<_Key, _Compare, _Alloc>::key_type = std::pair<short int, short int>]’
/home/gael/Github/minetestmapper/TileGenerator.cpp:1037:52: required from here
/usr/include/c++/5/bits/stl_tree.h:2297:8: error: no match for call to ‘(Coords_hash) (const std::pair<short int, short int>&, const std::pair<short int, short int>&)’
|| _M_impl._M_key_compare(__k,
^
In file included from /home/gael/Github/minetestmapper/TileGenerator.cpp:14:0:
/home/gael/Github/minetestmapper/include/TileGenerator.h:63:24: note: candidate: std::size_t Coords_hash::operator()(const Coords&) const
inline std::size_t operator()(const Coords &v) const {
^
/home/gael/Github/minetestmapper/include/TileGenerator.h:63:24: note: candidate expects 1 argument, 2 provided
In file included from /usr/include/c++/5/set:60:0,
from /home/gael/Github/minetestmapper/TileGenerator.cpp:12:
/usr/include/c++/5/bits/stl_tree.h: In instantiation of ‘std::pair<std::_Rb_tree_node_base*, std::_Rb_tree_node_base*> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_unique_pos(const key_type&) [with _Key = std::pair<short int, short int>; _Val = std::pair<short int, short int>; _KeyOfValue = std::_Identity<std::pair<short int, short int> >; _Compare = Coords_hash; _Alloc = std::allocator<std::pair<short int, short int> >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::key_type = std::pair<short int, short int>]’:
/usr/include/c++/5/bits/stl_tree.h:1863:28: required from ‘std::pair<std::_Rb_tree_iterator<_Val>, bool> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_insert_unique(const _Val&) [with _Key = std::pair<short int, short int>; _Val = std::pair<short int, short int>; _KeyOfValue = std::_Identity<std::pair<short int, short int> >; _Compare = Coords_hash; _Alloc = std::allocator<std::pair<short int, short int> >]’
/usr/include/c++/5/bits/stl_set.h:485:29: required from ‘std::pair<typename std::_Rb_tree<_Key, _Key, std::_Identity<_Key>, _Compare, typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_Key>::other>::const_iterator, bool> std::set<_Key, _Compare, _Alloc>::insert(const value_type&) [with _Key = std::pair<short int, short int>; _Compare = Coords_hash; _Alloc = std::allocator<std::pair<short int, short int> >; typename std::_Rb_tree<_Key, _Key, std::_Identity<_Key>, _Compare, typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_Key>::other>::const_iterator = std::_Rb_tree_const_iterator<std::pair<short int, short int> >; std::set<_Key, _Compare, _Alloc>::value_type = std::pair<short int, short int>]’
/home/gael/Github/minetestmapper/TileGenerator.cpp:371:76: required from here
/usr/include/c++/5/bits/stl_tree.h:1810:11: error: no match for call to ‘(Coords_hash) (const key_type&, const std::pair<short int, short int>&)’
__comp = _M_impl._M_key_compare(__k, _S_key(__x));
^
In file included from /home/gael/Github/minetestmapper/TileGenerator.cpp:14:0:
/home/gael/Github/minetestmapper/include/TileGenerator.h:63:24: note: candidate: std::size_t Coords_hash::operator()(const Coords&) const
inline std::size_t operator()(const Coords &v) const {
^
/home/gael/Github/minetestmapper/include/TileGenerator.h:63:24: note: candidate expects 1 argument, 2 provided
In file included from /usr/include/c++/5/set:60:0,
from /home/gael/Github/minetestmapper/TileGenerator.cpp:12:
/usr/include/c++/5/bits/stl_tree.h:1821:7: error: no match for call to ‘(Coords_hash) (const std::pair<short int, short int>&, const key_type&)’
if (_M_impl._M_key_compare(_S_key(__j._M_node), __k))
^
In file included from /home/gael/Github/minetestmapper/TileGenerator.cpp:14:0:
/home/gael/Github/minetestmapper/include/TileGenerator.h:63:24: note: candidate: std::size_t Coords_hash::operator()(const Coords&) const
inline std::size_t operator()(const Coords &v) const {
^
/home/gael/Github/minetestmapper/include/TileGenerator.h:63:24: note: candidate expects 1 argument, 2 provided
In file included from /usr/include/c++/5/set:60:0,
from /home/gael/Github/minetestmapper/TileGenerator.cpp:12:
/usr/include/c++/5/bits/stl_tree.h: In instantiation of ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_insert_(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Base_ptr, std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Base_ptr, const _Val&, _NodeGen&) [with _NodeGen = std::_Rb_tree<std::pair<short int, short int>, std::pair<short int, short int>, std::_Identity<std::pair<short int, short int> >, Coords_hash, std::allocator<std::pair<short int, short int> > >::_Alloc_node; _Key = std::pair<short int, short int>; _Val = std::pair<short int, short int>; _KeyOfValue = std::_Identity<std::pair<short int, short int> >; _Compare = Coords_hash; _Alloc = std::allocator<std::pair<short int, short int> >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<short int, short int> >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Base_ptr = std::_Rb_tree_node_base*]’:
/usr/include/c++/5/bits/stl_tree.h:1868:26: required from ‘std::pair<std::_Rb_tree_iterator<_Val>, bool> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_insert_unique(const _Val&) [with _Key = std::pair<short int, short int>; _Val = std::pair<short int, short int>; _KeyOfValue = std::_Identity<std::pair<short int, short int> >; _Compare = Coords_hash; _Alloc = std::allocator<std::pair<short int, short int> >]’
/usr/include/c++/5/bits/stl_set.h:485:29: required from ‘std::pair<typename std::_Rb_tree<_Key, _Key, std::_Identity<_Key>, _Compare, typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_Key>::other>::const_iterator, bool> std::set<_Key, _Compare, _Alloc>::insert(const value_type&) [with _Key = std::pair<short int, short int>; _Compare = Coords_hash; _Alloc = std::allocator<std::pair<short int, short int> >; typename std::_Rb_tree<_Key, _Key, std::_Identity<_Key>, _Compare, typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_Key>::other>::const_iterator = std::_Rb_tree_const_iterator<std::pair<short int, short int> >; std::set<_Key, _Compare, _Alloc>::value_type = std::pair<short int, short int>]’
/home/gael/Github/minetestmapper/TileGenerator.cpp:371:76: required from here
/usr/include/c++/5/bits/stl_tree.h:1506:10: error: no match for call to ‘(Coords_hash) (const std::pair<short int, short int>&, const std::pair<short int, short int>&)’
|| _M_impl._M_key_compare(_KeyOfValue()(__v),
^
In file included from /home/gael/Github/minetestmapper/TileGenerator.cpp:14:0:
/home/gael/Github/minetestmapper/include/TileGenerator.h:63:24: note: candidate: std::size_t Coords_hash::operator()(const Coords&) const
inline std::size_t operator()(const Coords &v) const {
^
/home/gael/Github/minetestmapper/include/TileGenerator.h:63:24: note: candidate expects 1 argument, 2 provided
In file included from /usr/include/c++/5/set:60:0,
from /home/gael/Github/minetestmapper/TileGenerator.cpp:12:
/usr/include/c++/5/bits/stl_tree.h: In instantiation of ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_lower_bound(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Link_type, std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Link_type, const _Key&) [with _Key = std::pair<short int, short int>; _Val = std::pair<short int, short int>; _KeyOfValue = std::_Identity<std::pair<short int, short int> >; _Compare = Coords_hash; _Alloc = std::allocator<std::pair<short int, short int> >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<short int, short int> >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Link_type = std::_Rb_tree_node<std::pair<short int, short int> >*]’:
/usr/include/c++/5/bits/stl_tree.h:2295:36: required from ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::find(const _Key&) [with _Key = std::pair<short int, short int>; _Val = std::pair<short int, short int>; _KeyOfValue = std::_Identity<std::pair<short int, short int> >; _Compare = Coords_hash; _Alloc = std::allocator<std::pair<short int, short int> >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<short int, short int> >]’
/usr/include/c++/5/bits/stl_set.h:695:29: required from ‘std::set<_Key, _Compare, _Alloc>::iterator std::set<_Key, _Compare, _Alloc>::find(const key_type&) [with _Key = std::pair<short int, short int>; _Compare = Coords_hash; _Alloc = std::allocator<std::pair<short int, short int> >; std::set<_Key, _Compare, _Alloc>::iterator = std::_Rb_tree_const_iterator<std::pair<short int, short int> >; std::set<_Key, _Compare, _Alloc>::key_type = std::pair<short int, short int>]’
/home/gael/Github/minetestmapper/TileGenerator.cpp:1037:52: required from here
/usr/include/c++/5/bits/stl_tree.h:1628:6: error: no match for call to ‘(Coords_hash) (const std::pair<short int, short int>&, const std::pair<short int, short int>&)’
if (!_M_impl._M_key_compare(_S_key(__x), __k))
^
In file included from /home/gael/Github/minetestmapper/TileGenerator.cpp:14:0:
/home/gael/Github/minetestmapper/include/TileGenerator.h:63:24: note: candidate: std::size_t Coords_hash::operator()(const Coords&) const
inline std::size_t operator()(const Coords &v) const {
^
/home/gael/Github/minetestmapper/include/TileGenerator.h:63:24: note: candidate expects 1 argument, 2 provided
CMakeFiles/minetestmapper.dir/build.make:134 : la recette pour la cible « CMakeFiles/minetestmapper.dir/TileGenerator.cpp.o » a échouée
make[2]: *** [CMakeFiles/minetestmapper.dir/TileGenerator.cpp.o] Erreur 1
CMakeFiles/Makefile2:67 : la recette pour la cible « CMakeFiles/minetestmapper.dir/all » a échouée
make[1]: *** [CMakeFiles/minetestmapper.dir/all] Erreur 2
Makefile:149 : la recette pour la cible « all » a échouée
make: *** [all] Erreur 2
Gael de Sailly wrote:/home/gael/Github/minetestmapper/include/BlockDecoder.h:17:56: error: ‘>>’ should be ‘> >’ within a nested template argument list
papou30 wrote:Hello, Gaël I managed to compile from the folder extracted from the "zip" with the latest version of C++ on Ubuntu 18.04.1 LTS.
wziard wrote:p.s. it you want an *isometric* leaflet map you'll also need the mergeiso utility to merge the isometric diamond shaped tiles into square tiles as input for the buildpyramid utility.
rubenwardy wrote:wziard wrote:p.s. it you want an *isometric* leaflet map you'll also need the mergeiso utility to merge the isometric diamond shaped tiles into square tiles as input for the buildpyramid utility.
Please may you give an example of this?
../../minetestmapper -i ../world/ --isometric --zoom 4 --tilesize 64x64 --geometry -128:-128+256+256 -o map.png
../../mergeiso/mergeiso iso_metadata_map.png.txt map2.png 1024
Edit: Also, the map that is produced by the generate leaflet script is blured when you zoom in, possibly due to JPEG. The nearest zoom should definitely use PNG
Return to Minetest-related projects
Users browsing this forum: Bing Bot [Bot] and 0 guests