Resolve circular dependency of tmXsd and tmTable
Usage of method tmtable::Scale::getKeyForBin
in function tmxsd::tree2scale
creates a circular dependency which causes a linker error on MacOS:
Undefined symbols for architecture x86_64:
"tmtable::Scale::getKeyForBin(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > const&)", referenced from:
tmxsd::tree2scale(tmxsd::scale_set const&, tmtable::Scale&) in tree2table.o
ld: symbol(s) not found for architecture x86_64
Although this issue does not occur when linking on Linux the implementation of tmtable::Scale::getKeyForBin
can be moved to tmXsd
to remove the circular dependency.