Сборка QGIS используя Visual C++ Express Edition 2008

Обсуждение материалов сайта: вопросы, замечания, предложения
updates-bot
Bot
Сообщения: 276
Зарегистрирован: 03 фев 2008, 23:13
Репутация: 3

Сборка QGIS используя Visual C++ Express Edition 2008

Сообщение updates-bot » 11 сен 2009, 05:00

Обсуждение статьи "Сборка QGIS используя Visual C++ Express Edition 2008 и компоненты OSGeo4W"

http://gis-lab.info/qa/qgis-compile-vce.html

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Статьи: 31
Проекты: 4/1
Репутация: 32
Откуда: Ukraine

Re: Сборка QGIS используя Visual C++ Express Edition 2008

Сообщение Voltron » 28 сен 2009, 11:16

Как мне кажется, статья основана на руководстве Florian Hillen. Неплохо было бы добавить ссылку на оригинал.

Теперь несколько замечаний/дополнений, полученных на собственном опыте.
Ключевые зависимости. В статье дается список пакетов, но не все пакеты из него необходимы при сборке. Cмело можно выбрасывать curl, gdal, shapelib, qgis (это версия 1.0.х), libxml2, python-qgis, python-win32, qgis-devel, qgis-georef-gislab и некоторые другие. Часть из этих пакетов относится к QGIS 1.0.х, часть - идет как зависимости от других пакетов (в основном сетевых вроде OpenLayers, Apache и т.д.)
Python. Этот пункт вообще не нужен, т.к. и Python, и SIP устанавливаются из OSGeo4W.

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 8910
Зарегистрирован: 06 окт 2003, 20:20
Статьи: 231
Проекты: 12/6
Репутация: 644
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Сборка QGIS используя Visual C++ Express Edition 2008

Сообщение Максим Дубинин » 29 сен 2009, 02:34

не хорошо, забыл ссылку на оригинал (правда его когда переводил еще не было), добавил
лишние пакеты (кроме "некоторых других" :) и питон убрал

удалось ли тебе собрать с питоном и грасс?
пристегивайтесь, турбулентность прямо по курсу

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3323
Зарегистрирован: 11 апр 2008, 21:09
Статьи: 33
Проекты: 9
Репутация: 494
Ваше звание: Author
Контактная информация:

Re: Сборка QGIS используя Visual C++ Express Edition 2008

Сообщение Denis Rykov » 08 мар 2010, 19:53

Ставлю по инструкции, но в процессе компиляции возникает fatal error с сообщением об отсутствии файла qgssvnversion.h. Глянул логи:

Код: Выделить всё

Generating qgssvnversion.h
'C:/Program' is not recognized as an internal or external command,
operable program or batch file.
Где-то обрезается путь. Что можно сделать?
Spatial is now, more than ever, just another column- The Geometry Column.

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Статьи: 31
Проекты: 4/1
Репутация: 32
Откуда: Ukraine

Re: Сборка QGIS используя Visual C++ Express Edition 2008

Сообщение Voltron » 08 мар 2010, 20:43

Можно посмотреть указан ли путь к subversion в переменных окружения. Проверить батник, возможно, в конце затерялись кавычки в строке

Код: Выделить всё

-D SVNVERSION="%SVNVERION%"

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3323
Зарегистрирован: 11 апр 2008, 21:09
Статьи: 33
Проекты: 9
Репутация: 494
Ваше звание: Author
Контактная информация:

Re: Сборка QGIS используя Visual C++ Express Edition 2008

Сообщение Denis Rykov » 08 мар 2010, 22:11

Наверное потому что я использую не тот SVN клиент, что указан в инструкции :-)
Поставил нужный, но он почему то отказался работать, заявив:

Код: Выделить всё

svn: This client is too old to work with working copy '.'; please get a newer Su
bversion client
Глянул батник, который build-qgis.bat:

Код: Выделить всё

SVNVERSION=%PROGRAMFILES%\Subversion\bin\svnversion.exe
То есть svn клиент должен быть установлен в конкретный каталог, а по дефолту он ставится совсем в другой.
Сейчас все снесу и заново попробую чекаут этим клиентом, что указан в инструкции.
Spatial is now, more than ever, just another column- The Geometry Column.

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Статьи: 31
Проекты: 4/1
Репутация: 32
Откуда: Ukraine

Re: Сборка QGIS используя Visual C++ Express Edition 2008

Сообщение Voltron » 09 мар 2010, 09:40

Черепашка, т.е. tortoisesvn? Тут я пас, никогда не пользовался и не знаю что у него внутри.

Клиен svn не обязательно ставить в конкретный каталог, можно просто исправить путь в батнике. Кстати, этот путь является дефолтным для subversion, собранного сообществом tigris.org

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3323
Зарегистрирован: 11 апр 2008, 21:09
Статьи: 33
Проекты: 9
Репутация: 494
Ваше звание: Author
Контактная информация:

Re: Сборка QGIS используя Visual C++ Express Edition 2008

Сообщение Denis Rykov » 09 мар 2010, 10:03

Ага, черепашка :) Вообщем с svn-ом разобрался - поставил тот, что указан в руководстве, подправил путь в батнике - заработало. Но собрать в итоге так и не удалось. В ходе сборки появляется сообщение об отсутсвии pyQt.

Код: Выделить всё

Traceback (most recent call last):
  File "C:\OSGeo4W\apps\Python25\Lib\site-packages\PyQt4\uic\pyuic.py", line 4, in <module>
    from PyQt4 import QtCore
ImportError: No module named PyQt4
Spatial is now, more than ever, just another column- The Geometry Column.

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Статьи: 31
Проекты: 4/1
Репутация: 32
Откуда: Ukraine

Re: Сборка QGIS используя Visual C++ Express Edition 2008

Сообщение Voltron » 09 мар 2010, 15:12

Странно, PyQt должен стоять, он автоматом ставится при установке QGIS. Переменная PYTHONHOME=С:\OSGeo4W\apps\Python25 точно есть?
Если запустить консоль осгео, а потом питон и выполнить

Код: Выделить всё

from PyQt4 import QtCore
что пишет? И, если не сложно, выложи сюда вывод, который дает запуск батника.

P.S.: ты уже "Гуру". Поздравляю!

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Статьи: 31
Проекты: 4/1
Репутация: 32
Откуда: Ukraine

Re: Сборка QGIS используя Visual C++ Express Edition 2008

Сообщение Voltron » 07 апр 2010, 20:40

Обновлен скрипт сборки, т.к. у QGIS появилась новая зависимость - QWT. Также необходимо установить соответствующий пакет

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Статьи: 31
Проекты: 4/1
Репутация: 32
Откуда: Ukraine

Re: Сборка QGIS используя Visual C++ Express Edition 2008

Сообщение Voltron » 10 авг 2010, 21:22

Небольшое обновление статьи:
  • из-за появления пакета grass-locale возникла необходимость в установке библиотеки libintl
  • рассказано, как настроить сборку QGIS с разными версиями GDAL (1.6.3 и 1.7.2)

megamurat
Новоприбывший
Сообщения: 2
Зарегистрирован: 30 ноя 2010, 12:32
Репутация: 0

Re: Сборка QGIS используя Visual C++ Express Edition 2008

Сообщение megamurat » 30 ноя 2010, 12:40

Доброго времени суток.
Пытаюсь собрать QGis но увы без успешно.
Ошибка:
-- Quantum GIS version: 1.7.0 Trunk (10700)
-- Could not find GRASS
-- Found Iconv: C:/OSGeo4W/lib/iconv.lib
-- Found Proj: C:/OSGeo4W/lib/proj.lib
-- Found Expat: C:/OSGeo4W/lib/libexpat.lib
-- Found GSL: C:/OSGeo4W/lib/gsl.lib;C:/OSGeo4W/lib/cblas.lib
-- Configuring incomplete, errors occurred!
Текст лога работы скрипта прилагается.
Заранее спасибо!
PS
TortoiseSVN 1.6.1, Сборка 16129 - 32 Bit , 2009/04/10 08:14:05
Microsoft Visual Studio 2008 Version 9.0.30729.1 SP Microsoft .NET Framework Version 3.5 SP1
Installed Edition: Professional
Вложения
log.txt
лог
(5.51 КБ) 1250 скачиваний

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Статьи: 31
Проекты: 4/1
Репутация: 32
Откуда: Ukraine

Re: Сборка QGIS используя Visual C++ Express Edition 2008

Сообщение Voltron » 30 ноя 2010, 17:48

Исправьте в командном файле версию GRASS, на установленную. Скорее всего, это будет выглядеть так

Код: Выделить всё

set GRASS_VERSION=6.4.0
И заодно исправьте путь к svnversion, правда, не знаю есть ли она у вас (черепахой никогда не пользовался).

megamurat
Новоприбывший
Сообщения: 2
Зарегистрирован: 30 ноя 2010, 12:32
Репутация: 0

Re: Сборка QGIS используя Visual C++ Express Edition 2008

Сообщение megamurat » 30 ноя 2010, 18:10

Спасибо. Подправил скрипт. В нем было
set GRASS_VERSION=6.4.0svn
Теперь осталась одна ошибка
-- Quantum GIS version: 1.7.0 Trunk (10700)
-- Found GRASS: C:/OSGeo4W/apps/grass/grass-6.4.0 (6.4.0)
-- Found Iconv: C:/OSGeo4W/lib/iconv.lib
-- Found Proj: C:/OSGeo4W/lib/proj.lib
-- Found Expat: C:/OSGeo4W/lib/libexpat.lib
-- Found GSL: C:/OSGeo4W/lib/gsl.lib;C:/OSGeo4W/lib/cblas.lib
GEOS_INCLUDE_DIR=C:/OSGeo4W/include
GEOS_LIBRARY=GEOS_LIBRARY-NOTFOUND
CMake Error at cmake/FindGEOS.cmake:163 (MESSAGE):
Could not find GEOS
Call Stack (most recent call first):
CMakeLists.txt:141 (FIND_PACKAGE)
-- Configuring incomplete, errors occurred!
C:\qgis_src\build>rem devenv qgis.sln /Project ALL_BUILD /Build RelWithDebInfo
C:\qgis_src\build>pause
Для продолжения нажмите любую клавишу . . .

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Статьи: 31
Проекты: 4/1
Репутация: 32
Откуда: Ukraine

Re: Сборка QGIS используя Visual C++ Express Edition 2008

Сообщение Voltron » 30 ноя 2010, 22:29

Хм... не находится GEOS. Попробуйте добавить в параметры cmake

Код: Выделить всё

-D GEOS_INCLUDE_DIR=C:/OSGeo4W/include
-D GEOS_LIBRARY=C:/OSGeo4W/lib

Ответить

Вернуться в «Материалы сайта»