Страница 1 из 3

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

Добавлено: 11 сен 2009, 05:00
updates-bot
Обсуждение статьи "Сборка QGIS используя Visual C++ Express Edition 2008 и компоненты OSGeo4W"

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

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

Добавлено: 28 сен 2009, 11:16
Voltron
Как мне кажется, статья основана на руководстве 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.

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

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

удалось ли тебе собрать с питоном и грасс?

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

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

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

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

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

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

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

-D SVNVERSION="%SVNVERION%"

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

Добавлено: 08 мар 2010, 22:11
Denis Rykov
Наверное потому что я использую не тот 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 клиент должен быть установлен в конкретный каталог, а по дефолту он ставится совсем в другой.
Сейчас все снесу и заново попробую чекаут этим клиентом, что указан в инструкции.

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

Добавлено: 09 мар 2010, 09:40
Voltron
Черепашка, т.е. tortoisesvn? Тут я пас, никогда не пользовался и не знаю что у него внутри.

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

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

Добавлено: 09 мар 2010, 10:03
Denis Rykov
Ага, черепашка :) Вообщем с 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

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

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

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

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

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

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

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

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

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

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

Добавлено: 30 ноя 2010, 12:40
megamurat
Доброго времени суток.
Пытаюсь собрать 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

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

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

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

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

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

Добавлено: 30 ноя 2010, 18:10
megamurat
Спасибо. Подправил скрипт. В нем было
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
Для продолжения нажмите любую клавишу . . .

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

Добавлено: 30 ноя 2010, 22:29
Voltron
Хм... не находится GEOS. Попробуйте добавить в параметры cmake

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

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