Подготовка среды разработки для компиляции QGIS
Про компиляцию QGIS в сети можно найти целый ряд статей, однако тема подготовительного этапа там освящена, на мой взгляд, слабо.
Во-первых, нельзя сходу установить Microsoft Windows SDK for Windows 7 and .NET Framework 4 на Windows 10 - конфликт версий .NET Framework. Решение следующее:
1. Скачайте и установите MS Visual Studio 2010
2. Скачайте и установите Microsoft Windows SDK for Windows 7 and .NET Framework 4
При установке вылетит уведомление об ошибке:
Замените исходную версию на 4.0.30319. После окончания установки верните исходные значения и разрешения, поменяв владельца обратно на TrustedInstaller.
3. Теперь скачайте и установите Microsoft Visual Studio 2010 Service Pack 1 и Microsoft Visual C++ 2010 Service Pack 1 Compiler Update for the Windows SDK 7.1
После этого Visual Studio 2010 должен, наконец, заработать.
Во-вторых, необходимо задать переменные среды для QtCreator. Для этого создаем .bat-файл с кодом:
Обязательно отредактируйте этот код в соответствии с путями в вашей системе.
Компилировал QGIS 2.14.8 на Win10 x64.
Пользуясь случаем, покажу свою конфигурацию CMake, т.к. тоже возникали вопросы.
Ссылки в помощь: тыц, тыц.
В одной из самых свежих статей в рунете рекомендуют такую последовательность действий:
Первоначально мы скачиваем и устанавливаем Qt Creator. Качаем с официального сайта. Я использовал скомпилированные библиотеки Qt. (Внимание! Qgis официально не поддерживает Qt 5. Лучше используйте Qt 4): берем отсюда. Ставим Microsoft Windows SDK for Windows 7 and .NET Framework 4 (ISO) (нужен для setupapi).К сожалению, при сборке на Windows 10 x64 появляется ряд трудностей.
Кроме того, для отладки в Qt Creator необходим CDB (из пакета MS Debugging Tools). находится тут.
Так же скачиваем и устанавливаем:Cmake, Flex и Bison. С официального сайта скачиваем OSGeo4W для своей версии: тут. Запускам его и выбираем: расширенная установка -> установить из интернета и жмем все далее.
Во-первых, нельзя сходу установить Microsoft Windows SDK for Windows 7 and .NET Framework 4 на Windows 10 - конфликт версий .NET Framework. Решение следующее:
1. Скачайте и установите MS Visual Studio 2010
2. Скачайте и установите Microsoft Windows SDK for Windows 7 and .NET Framework 4
При установке вылетит уведомление об ошибке:
Открываем реестр Windows и ищем ключи
- HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Client\Version
- HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Full\Version
Замените исходную версию на 4.0.30319. После окончания установки верните исходные значения и разрешения, поменяв владельца обратно на TrustedInstaller.
3. Теперь скачайте и установите Microsoft Visual Studio 2010 Service Pack 1 и Microsoft Visual C++ 2010 Service Pack 1 Compiler Update for the Windows SDK 7.1
После этого Visual Studio 2010 должен, наконец, заработать.
Во-вторых, необходимо задать переменные среды для QtCreator. Для этого создаем .bat-файл с кодом:
ECHO Setting up QGIS DEV ENV
set PYTHONPATH=C:\OSGeo4W\apps\Python27
set OSGEO4W_ROOT=C:\OSGeo4W
call "%OSGEO4W_ROOT%\bin\o4w_env.bat"
@set QMAKESPEC=win32-msvc2010
@set PATH=%OSGEO4W_ROOT%\bin;%OSGEO4W_ROOT%\apps\qgis-dev\bin;%PATH%
@set INCLUDE=%INCLUDE%;%OSGEO4W_ROOT%\include;%OSGEO4W_ROOT%\apps\qgis-dev\include
@set LIB=%LIB%;%OSGEO4W_ROOT%\lib;%OSGEO4W_ROOT%\apps\qgis-dev\lib
path %OSGEO4W_ROOT%\bin;%SYSTEMROOT%\System32;%SYSTEMROOT%; %SYSTEMROOT%\System32\wbem; C:\Progra~1\Git\bin;C:\Qt\qtcreator-4.1.0\bin;%PATH%
set VS100COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\
call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86
start "Qt Creator" /B C:\Qt\qtcreator-4.1.0\bin\qtcreator.exe %*
Обязательно отредактируйте этот код в соответствии с путями в вашей системе.
Компилировал QGIS 2.14.8 на Win10 x64.
Пользуясь случаем, покажу свою конфигурацию CMake, т.к. тоже возникали вопросы.
BISON_EXECUTABLE:FILEPATH=C:/win_flex_bison-latest/win_bison.exe
EXPAT_INCLUDE_DIR:PATH=C:/OSGeo4W/include
EXPAT_LIBRARY:FILEPATH=C:/OSGeo4W/lib/libexpat.lib
FLEX_EXECUTABLE:FILEPATH=C:/win_flex_bison-latest/win_flex.exe
GDAL_INCLUDE_DIR:PATH=C:/OSGeo4W/include
GDAL_LIBRARY:FILEPATH=C:/OSGeo4W/lib/gdal_i.lib
GEOS_INCLUDE_DIR:PATH=C:/OSGeo4W/include
GEOS_LIBRARY:FILEPATH=C:/OSGeo4W/lib/geos_c.lib
GSLCBLAS_LIB:FILEPATH=C:/OSGeo4W/lib/cblas.lib
GSL_INCLUDE_DIR:PATH=C:/OSGeo4W/include/gsl
GSL_LIB:FILEPATH=C:/OSGeo4W/lib/gsl.lib
POSTGRES_INCLUDE_DIR:PATH=C:/OSGeo4W/include
POSTGRES_LIBRARY:FILEPATH=C:/OSGeo4W/lib/libpq.lib
PROJ_INCLUDE_DIR:PATH=C:/OSGeo4W/include
PROJ_LIBRARY:FILEPATH=C:/OSGeo4W/lib/proj.lib
PYRCC_PROGRAM:FILEPATH=C:/OSGeo4W/bin/pyrcc4.exe
PYUIC_PROGRAM:FILEPATH=C:/OSGeo4W/apps/Python27/Lib/site-packages/PyQt4/uic/pyuic.py
QCA_INCLUDE_DIR:PATH=C:/OSGeo4W/include/qt4/QtCrypto
QCA_LIBRARY:FILEPATH=C:/OSGeo4W/lib/qca.lib
QSCINTILLA_INCLUDE_DIR:PATH=C:/OSGeo4W/include/qt4
QSCINTILLA_LIBRARY:FILEPATH=C:/OSGeo4W/lib/qscintilla2.lib
QSCI_SIP_DIR:PATH=C:/OSGeo4W/include
QWTPOLAR_INCLUDE_DIR:PATH=C:/OSGeo4W/include/qwt
QWTPOLAR_LIBRARY:FILEPATH=C:/OSGeo4W/lib/qwt.lib
QWT_INCLUDE_DIR:PATH=C:/OSGeo4W/include/qwt
QWT_LIBRARY:FILEPATH=C:/OSGeo4W/lib/qwt.lib
SPATIALINDEX_INCLUDE_DIR:PATH=C:/OSGeo4W/include/spatialindex;C:/OSGeo4W64/include
SPATIALINDEX_LIBRARY:FILEPATH=C:/OSGeo4W/lib/spatialindex.lib;C:/OSGeo4W/lib/spatialindex_i.lib
SPATIALITE_INCLUDE_DIR:PATH=C:/OSGeo4W/include/spatialite;C:/OSGeo4W/include
SPATIALITE_LIBRARY:FILEPATH=C:/OSGeo4W/lib/spatialite.lib;C:/OSGeo4W/lib/spatialite_i.lib
SQLITE3_INCLUDE_DIR:PATH=C:/OSGeo4W/include
SQLITE3_LIBRARY:FILEPATH=C:/OSGeo4W/lib/sqlite3_i.lib
Ссылки в помощь: тыц, тыц.

Комментарии
Отправить комментарий