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

Обсуждение материалов сайта: вопросы, замечания, предложения
madlih
Интересующийся
Сообщения: 31
Зарегистрирован: 25 окт 2010, 22:45
Репутация: 0

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

Сообщение madlih » 23 янв 2011, 04:27

Делаю все как описано, батник пишет следующее

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

-- Quantum GIS version: 1.5.0 Tethys (10500)
-- Found Iconv: C:/OSGeo4W/lib/iconv.lib
-- Found Proj: C:/OSGeo4W/lib/proj.lib
-- Found Expat: C:/OSGeo4W/lib/libexpat.lib
-- Using GSL from 
-- Found GEOS: C:/OSGeo4W/lib/geos_c_i.lib
-- Found GDAL: C:/OSGeo4W/apps/gdal-16/lib/gdal_i.lib
-- Found PostgreSQL: C:/OSGeo4W/lib/libpq.lib
-- Could not find GRASS
-- Found QWT: C:/OSGeo4W/lib/qwt5.lib
-- Pedantic compiler settings enabled
-- Debug output enabled
-- Generating browse files
-- Found Python executable: C:/OSGeo4W/bin/python.exe
-- Found Python version: 2.5.2
-- Found Python library: C:/OSGeo4W/apps/python25/libs/python25.lib
-- Found SIP version: 4.8.2
-- Found PyQt4 version: 4.5.2
-- Configuring done
-- Generating done
-- Build files have been written to: C:/OSGeo4W/SRCQGIS/build

C:\OSGeo4W\SRCQGIS\build>vcexpress qgis.sln /Project ALL_BUILD /Build RelWithDebInfo 

C:\OSGeo4W\SRCQGIS\build>pause
Пытаюсь скомпилить qgis.sln из C:/OSGeo4W/SRCQGIS/build с помощью VC++ Express Edition 2008? при компиляции выдает примерно следующие ошибки

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

38>------ Build started: Project: evis, Configuration: RelWithDebInfo Win32 ------
39>------ Build started: Project: dxf2shpconverterplugin, Configuration: RelWithDebInfo Win32 ------
38>Linking...
39>Linking...
38>LINK : fatal error LNK1104: cannot open file '..\..\core\RelWithDebInfo\qgis_core.lib'
39>LINK : fatal error LNK1104: cannot open file '..\..\core\RelWithDebInfo\qgis_core.lib'
38>Build log was saved at "file://c:\OSGeo4W\SRCQGIS\build\src\plugins\evis\evis.dir\RelWithDebInfo\BuildLog.htm"

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

45>Performing Post-Build Event...
45>'import site' failed; use -v for traceback
45>Traceback (most recent call last):
45>  File "C:/OSGeo4W/SRCQGIS/cmake/PythonCompile.py", line 3, in <module>
45>    import py_compile
45>ImportError: No module named py_compile
45>'import site' failed; use -v for traceback
в Итоге получаю

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

========== Build: 1 succeeded, 44 failed, 5 up-to-date, 3 skipped ==========
Чувствую где то зависимость проетерял, либо с переменными окружения нетак что то... Плз помогите, или может есть какие нибудь легче способы сборки QGIS из исходников под Win

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

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

Сообщение Voltron » 23 янв 2011, 13:43

Не найдена GRASS, исправьте в командном файле строку с версией GRASS

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

set GRASS_VERSION=6.4.0

madlih
Интересующийся
Сообщения: 31
Зарегистрирован: 25 окт 2010, 22:45
Репутация: 0

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

Сообщение madlih » 23 янв 2011, 14:13

Спасибо, исправил но ошибки все теже хотя компилятор теперь выдает

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

========== Build: 4 succeeded, 48 failed, 5 up-to-date, 3 skipped ==========
вообщем я так понял какая то беда с qgis_core и py_compile. Эх.. вчера полночи с этими зависимостями бился :(
out.txt
лог компилятора
(27.2 КБ) 1052 скачивания

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

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

Сообщение Voltron » 23 янв 2011, 15:40

Ммм... это лог повторной сборки, полный лог был бы предпочтительнее. Похоже, у вас что-то с svnversion. Путь к svn указан правильный? Если в командной строке перейти в каталог с исходниками и дать команду

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

svnversion
что пишет?

Попробуйте создать в каталоге build файл qgssvnversion.h с содержимым

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

#define QGSSVNVERSION "15056"
и пересобрать заново.

madlih
Интересующийся
Сообщения: 31
Зарегистрирован: 25 окт 2010, 22:45
Репутация: 0

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

Сообщение madlih » 23 янв 2011, 16:18

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

svn: This client is too old to work with working copy '.'; please get a newer Su
bversion client
Довольно таки странно, я поставил svn клиент который в статье указывается, правда черепашку не удалил
если svnversion выполнить в каталоге OSGeo4w то отвечает exported
исходники у меня в c:\osgeo4w\srcqgis , cmake,flex, bison, svn client в c:\osgeo4w\cmake
1.txt
лог работы bat файла
(3.48 КБ) 1034 скачивания
Лог от Visual C++ Express Edition 2008
MSVC++log.txt
(44.79 КБ) 1048 скачиваний

madlih
Интересующийся
Сообщения: 31
Зарегистрирован: 25 окт 2010, 22:45
Репутация: 0

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

Сообщение madlih » 24 янв 2011, 13:10

Вообщем был неправильно прописан путь в батнике до svnversion, избавился от части проблем. Потом обнаружил что исходники, которые собираю версии 1.5.0 а qgis-devel у меня 1.7.0-51, скачал исходники qgis 1.7.0 теперь осталось две ошибки, вернее их семь всего , но это две одни и теже

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

7>'import site' failed; use -v for traceback
7>Traceback (most recent call last):
7>  File "C:/OSGeo4W/qgis/cmake/PythonCompile.py", line 3, in <module>
7>    import py_compile
7>ImportError: No module named py_compile
6>'import site' failed; use -v for traceback
6>Traceback (most recent call last):
6>  File "C:\OSGeo4W\apps\Python25\Lib\site-packages\PyQt4\uic\pyuic.py", line 2, in <module>
6>    import optparse
6>ImportError: No module named optparse
чтоза optparse и py_compile

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

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

Сообщение Voltron » 24 янв 2011, 15:41

Это у вас что-то с Python. optparse — стандартный модуль для обработки командной строки.
Возможно, у вас стоит несколько версий Python параллельно и имеет место быть конфликт?

madlih
Интересующийся
Сообщения: 31
Зарегистрирован: 25 окт 2010, 22:45
Репутация: 0

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

Сообщение madlih » 24 янв 2011, 17:08

прошелся тоталкоммандером на предмет дублей

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

C:\OSGeo4W\apps\openev\python\Lib\optparse.pyc
C:\OSGeo4W\apps\python25\lib\optparse.pyc
C:\OSGeo4W\apps\openev\python\Lib\py_compile.py
C:\OSGeo4W\apps\python25\lib\py_compile.py
Что за opendev пакет. И ошибка то звучит что не найден модуль...

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

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

Сообщение Voltron » 24 янв 2011, 18:29

openEV это набор библиотек а также программа для просмотра графических и векторных данных. Можно попробовать удалить, хотя по идее влиять не должно.

madlih
Интересующийся
Сообщения: 31
Зарегистрирован: 25 окт 2010, 22:45
Репутация: 0

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

Сообщение madlih » 24 янв 2011, 20:42

незнаю может кому то пригодится - установщиком OSGeo4w выбрал reinstall пакет python, сборка прошла без warning и error

madlih
Интересующийся
Сообщения: 31
Зарегистрирован: 25 окт 2010, 22:45
Репутация: 0

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

Сообщение madlih » 25 янв 2011, 09:47

Как сборку запустить теперь?

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

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

Сообщение Voltron » 25 янв 2011, 09:55

Устанавливаете собранную QGIS, потом в каталоге C:\OSGeo4W\bin создаете батник для запуска. За основу можете взять батник qgis-dev.bat, лежащий там же

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

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

Сообщение Voltron » 24 фев 2011, 21:17

Статья снова обновлена, изменения большей частью косметические. Также обновился командный файл для сборки и добавлен еще один командный файл для запуска скомпилированной QGIS

Аватара пользователя
Artalex
Новоприбывший
Сообщения: 13
Зарегистрирован: 18 сен 2009, 14:22
Репутация: 1

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

Сообщение Artalex » 10 июл 2011, 23:34

Добрый день!
Скажите, а данный вариант сборки позволит в дальнейшем работать с отладкой Visual C++ Express?

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

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

Сообщение Voltron » 11 июл 2011, 15:29

Позволит, но с некоторыми ограничениями. Если вам нужна полноценная отладка, посмотрите на другую статью

Ответить

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 33 гостя