Неп то что-бы я критиковал, но “ни фига не поняла” (С)
Ещё раз для эстонцев повторю - в /etc/ld.so.conf путь куда надо прописан, другие, в смысле нормальные, софтины из /usr/local/bin пущаются без проблем.
Собираю я не в “песочницу”, а куда по дефолту прописаны патчи в мейкфайле (хотя сборка в песочницу - замечательная идея - надо сляпать ебилд).
Дёргать руками, или как то иначе, ldconfig после make inastall, лично я - в смысле ИМХО, считаю моветоном (в смысле кривыми руками автора мейкфайла).
ЗЫ: Вопрос, а после того как запустилось чего с ним делать? В смысле загрукзил voronezh.osm - вижу горизонт, вижу на горизонте какие то фигли, а как попасть в сам Воронеж - не понятно
ЗЫ2: Ещё одну багофичу заметил - в полёте возможно “ныряние” ниже текущей поверхности - ИМХО надо с этим делом как-то бороться (например “отражать” по типу “блинчиков”)
ЗЫ: С “полётом”, как бы, разобрался - с “попаданием” в нужное место - нет.
ЗЫ2: Добреёл до обстановки возле дома - ИМХО ещё и с масштабом по вертикали чгой-то не того Одно-двуэтажные здания высоковаты, высотки - мелковаты.
Если вы набираете руками “make install”, то вы уже собираете в песочнице, а не в дистрибутив, следовательно сами и позаботьтесь о том что бы ручками набрать ldconfig, потому что повторю ещё раз: это не задача сборки, это задача упаковки в пакет средствами пакетного менеджера. В /usr/local собирается всё только в том случае, если собирать что-то руками на коленке для “чисто_напопробовать_собираемость”, за всё что лежит там никто ответственности кроме вас самого не несёт.
Правила хорошего тона сборки софта: 1) после rm -rf /usr/local ни один софт не перестал работать или как то изменил своё поведение, 2) каждый исполняемый файл в системе принадлежит какому то конкретному пакету с конкретной версией.
p.s. прежде чем наезжать по поводу “эстонцы” и “я тут ручками слепил” изучите мантейнерс-гид по своему дистрибутиву и правильному процессу сборки софта.
Одноэтажным зданиям кроме гаражей (можно, в принципе, добавить и остановки буде у них свой building=) прибавляется метр (по-хорошему надо не только одноэтажным, но там надо min_level тоже учитывать, а мне пока было лень) - это полезно одноэтажным магазинам (которые на самом деле даже 5 метров) и деревенским домам. Хотите однозначной интерпретации - меряйте и проставляйте height. Высотки нормальные, но обычно у них 1-2 технических этажа которые не считают в levels. Нужно придумать тэг и отмечать их тоже.
Это эффект восприятия. Во-первых, мы их обычно видим с десятков метров и чтобы увидеть верх надо задрать голову - вот и кажется что они высокие. Кроме того, на торце 2 ряда окон, на которые мы прежде всего обращаем внимание, и у этого прямоугольника другие пропорции. А в реальности они действительно с торца почти квадратные, что легко проверяется измерением длины и высоты.
cmake не поддерживает make uninstall, см. его FAQ.
Для openSUSE (текущей и предыдущей версий) glosm собирается в моём уютненьком домашнем репозитарии на openSUSE Build Service. Для инсталяции достаточно воспользоваться поиском по репозитариям http://software.opensuse.org/search или вручную добавить репо и поставить (для 11.2):
zypper ar -f http://download.opensuse.org/repositories/home:/VasilevMaxim/openSUSE_11.2/ home:maksvasilev
zypper install glosm
Для 11.3 соответственно поменять в URL номер версии.
Для Factory:
zypper ar -f http://download.opensuse.org/repositories/home:/VasilevMaxim/openSUSE_Factory/ home:maksvasilev
zypper install glosm
Program received signal SIGSEGV, Segmentation fault.
0xb7f9a040 in std::_List_const_iterator<Vector2 >::operator++() () from /home/serega/glosm/glosm/libgeomgen-default/libgeomgen-default.so
(gdb) bt #0 0xb7f9a040 in std::_List_const_iterator<Vector2 >::operator++() () from /home/serega/glosm/glosm/libgeomgen-default/libgeomgen-default.so #1 0xb7f94454 in CreateSmartVerticalLines(Geometry&, std::list<Vector2, std::allocator<Vector2 > > const&, int, int, float, OsmDatasource::Way const&) ()
from /home/serega/glosm/glosm/libgeomgen-default/libgeomgen-default.so #2 0xb7f994b2 in WayDispatcher(Geometry&, OsmDatasource const&, OsmDatasource::Way const&) () from /home/serega/glosm/glosm/libgeomgen-default/libgeomgen-default.so #3 0xb7f99a72 in DefaultGeometryGenerator::GetGeometry(Geometry&, BBox const&) const () from /home/serega/glosm/glosm/libgeomgen-default/libgeomgen-default.so #4 0xb7fd75de in GeometryTile::GeometryTile(Projection const&, GeometryDatasource const&, Vector2 const&, BBox const&) () from /home/serega/glosm/glosm/libglosm-client/libglosm-client.so #5 0xb7fd6c90 in GeometryLayer::GeometryLayer(Projection, GeometryDatasource const&) () from /home/serega/glosm/glosm/libglosm-client/libglosm-client.so #6 0x0804a22c in real_main(int, char**) () #7 0x0804a43c in main ()
(gdb)
Это понятно, но так не полноэкранному приложению вести себя странновато - его получается даже свернуть мышкой нельзя.
Может быть можно какую-то кнопку хотя бы предусмотреть, как это сделано в vmware и пр.
Все кнопки уже есть в WM. Может стоит в fullscreen по умолчанию запускать, но мне такая самодеятельность кажется странной.
Ближе к qt версии что-нибудь придумаю.