Windows8.1 32bitでQGISをソースからコンパイルする方法です。(windows7でも多分おなじ方法でいけると思います。)
基本的な手順は、以下のサイトの通りなのですが、情報が古いみたいで、この通りにやっても上手くいきません。試行錯誤の末、なんとかコンパイル&起動できるようになったので、そのメモです。
https://github.com/qgis/Quantum-GIS/blob/master/INSTALL
1.
- ここからVisual C++ Express Edition 2008をとってきてインストールする。
http://download.microsoft.com/download/d/c/3/dc3439e7-5533-4f4c-9ba0-8577685b6e7e/vcsetup.exe
- ここからMicrosoft Windows Server 2003 R2 Platform SDKをとってくる。
http://download.cnet.com/Windows-Server-2003-R2-Platform-SDK-ISO-Download/3000-10248_4-10731094.html
-
- imgを仮想化ソフトでマウントしてインストール。このソフトを使いました。http://freesoft.tvbok.com/freesoft/virtual/wincdemu.html
2.
これらをインストール。
CMake http://www.cmake.org/files/v2.8/cmake-2.8.12.2-win32-x86.exe
Flex http://gnuwin32.sourceforge.net/downlinks/flex.php
Bison http://gnuwin32.sourceforge.net/downlinks/bison.php
GIT https://github.com/msysgit/msysgit/releases/download/Git-1.9.2-preview20140411/Git-1.9.2-preview20140411.exe
OSGeo4W http://download.osgeo.org/osgeo4w/osgeo4w-setup.exe
txt2tags http://txt2tags.org/txt2tags.py
-
- pythonプログラムを保存してC:\OSGeo4W\bin に入れておく。
-
- cmake 2.8.4だとダメでした。
- gitも最新にしておきました。
- txt2tagsも一応いれておきました。(後のcmakeの作業でnot_foundって言われるので)
OSGeo4Wでは、これらをインスト−ル
- expat
- fcgi
- gdal
- grass
- gsl-devel
- iconv
- pyqt4
- qt4-devel
- qwt5-devel-qt4
- sip
- spatialite
- libspatialindex-devel
- python-qscintilla
- gdal-python
- pyspacialite
- psycopg2
-
- gdal-python,pyspacialite,psycopg2 これらを追加。入れないと起動時にpluginエラーが出ます。
3.
空白パス名がコンパイル時によろしくないので、
C:\Program Files\GnuWin32 をこちらに移動。 C:\GnuWin32
C:\GnuWin32\includeの中身をここにコピー C:\Program Files\Microsoft Visual Studio 9.0\VC\include
4.
これをbuild_init.bat という名前で c:\gitproject\の中に保存 (gitprojectでなくてもいいです)
@echo off path %SYSTEMROOT%\system32;%SYSTEMROOT%;%SYSTEMROOT%\System32\Wbem; set PYTHONPATH= set VS90COMNTOOLS=%PROGRAMFILES%\Microsoft Visual Studio 9.0\Common7\Tools\ call "%PROGRAMFILES%\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86 set INCLUDE=%INCLUDE%;%PROGRAMFILES%\Microsoft Platform SDK for Windows Server 2003 R2\include set LIB=%LIB%;%PROGRAMFILES%\Microsoft Platform SDK for Windows Server 2003 R2\lib set OSGEO4W_ROOT=C:\OSGeo4W call "%OSGEO4W_ROOT%\bin\o4w_env.bat" @set GRASS_PREFIX=c:/OSGeo4W/apps/grass/grass-6.4.3 @set INCLUDE=%INCLUDE%;%OSGEO4W_ROOT%\include @set LIB=%LIB%;%OSGEO4W_ROOT%\lib;%OSGEO4W_ROOT%\lib set PATH=%PATH%;%PROGRAMFILES%\CMake 2.8\bin;c:\GnuWin32\bin;%OSGEO4W_ROOT%\bin;%PROGRAMFILES%\Git\bin @cmd
5.
コマンドプロンプトを起動して、C:\gitproject\のなかで以下のコマンドを打ってQGISのソースを取ってくる。
git clone git://github.com/qgis/Quantum-GIS.git
- C:\gitproject\build フォルダを作る
- コマンドプロンプトでbuild_init.batを実行する。
6.
コマンドプロンプトで以下のコマンドを打ってcmakeを起動させる
cmake-gui
Where is the source code: に C:/gitproject/QGIS
Whers to build the binaries: に C:/gitproject/build
を指定して、Configureボタンを押すと、選択画面がでるのでVisual Studio 9 C++ 2008を選ぶ。
txt2tagsのパスが分からないとエラーが出るので、C:\OSGeo4W\bin\txt2tags-2.6.py を選択する。
(エラーは、別々にでるので、Configureボタンをその都度押す)
- もう一度Configureボタンを押してエラーが出なくなったら続けてGenerateボタンを押す。
-
- 8.の作業を省略しようとCMAKE_INSTALL_PREFIXを変更したら、なぜか上手くいかなかったので、これはそのまま。
7.
コマンドプロンプト(管理者)でC:\gitproject\build に入って以下のコマンドを打ってコンパイル&インストール
cmake --build . --config RelWithDebInfo cmake --build . --target install --config RelWithDebInfo
- コンパイルでエラーが残ってるけど、とりあえず無視。(動作には関係ない部分かも??)
8
C:\Program Files\qgis2.3.0フォルダをC:\OSGeo4W\apps\qgis2.3.0に移動させます。
これを、qgis-mybuild.batで保存します。
@echo off SET OSGEO4W_ROOT=C:\OSGeo4W call "%OSGEO4W_ROOT%"\bin\o4w_env.bat call "%OSGEO4W_ROOT%"\apps\grass\grass-6.4.3\etc\env.bat @echo off path %PATH%;"%OSGEO4W_ROOT%\apps\qgis2.3.0\bin";%OSGEO4W_ROOT%\apps\grass\grass-6.4.3\lib start "QGIS" /B "%OSGEO4W_ROOT%\apps\qgis2.3.0\bin\qgis.exe" %*
9
qgis-mybuild.batをダブルクリックして、起動すればできあがり。