QGISをソースからコンパイルする方法(Windows環境)

WindowsQGISをソースからコンパイルする方法を紹介します。日本語まわりのバグを自分で修正したいときなどにどうぞ!(ちなみに、最新機能を使いたいだけならOSGeo4Wのqgis-devをどうぞ。qgis-devはnightly buildのようです。)


私の環境は、WindowsXPなので、それ以外の場合は試していませんのであしからず。


手順は、以下のサイトの通りですので、詳しくはこちらをご覧ください。
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

http://download.cnet.com/Windows-Server-2003-R2-Platform-SDK-ISO-Download/3000-10248_4-10731094.html

  • imgをCDに焼いてインストールする。(roxioの場合、拡張子をisoに変更してから。CDに焼かなくても仮想化ソフトでマウントしてもいいかも)
  • もし、インストールの途中でエラーで落ちる場合、以下の作業をしてみるといいかも。

http://blog.livedoor.jp/overhead_pele/archives/50981625.html

2.

これらをインストール。

CMake http://www.cmake.org/files/v2.8/cmake-2.8.4-win32-x86.exe
Flex http://gnuwin32.sourceforge.net/downlinks/flex.php
Bison http://gnuwin32.sourceforge.net/downlinks/bison.php
GIT http://msysgit.googlecode.com/files/Git-1.7.4-preview20110204.exe
OSGeo4W http://download.osgeo.org/osgeo4w/osgeo4w-setup.exe


OSGeo4Wでは、これらをインスト−ル

  • expat
  • fcgi
  • gdal
  • grass
  • gsl-devel
  • iconv
  • pyqt4
  • qt4-devel
  • qwt5-devel-qt4
  • sip
  • spatialite
  • libspatialindex-devel
  • python-qscintilla

3.

空白パス名がコンパイル時によろしくないので、
C:\Program Files\GnuWin32 をこちらに移動。 C:\Program\GnuWin32 

C:\Program\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;%PROGRAMFILES%\CMake 2.8\bin;%PROGRAMFILES%\subversion\bin;%PROGRAMFILES%\GnuWin32\bin
  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.3RC1
  @set INCLUDE=%INCLUDE%;%OSGEO4W_ROOT%\include
  @set LIB=%LIB%;%OSGEO4W_ROOT%\lib;%OSGEO4W_ROOT%\lib
  
  @cmd

5.

コマンドプロンプトを起動して、C:\gitproject\のなかで以下のコマンドを打ってQGISのソースを取ってくる。

git clone git://github.com/qgis/Quantum-GIS.git
  • C:\gitproject\build フォルダを作る

6.

コマンドプロンプトで以下のコマンドを打ってcmakeを起動させる

cmake-gui

Where is the source code: に C:/gitproject/Quantum-GIS
Whers to build the binaries: に C:/gitproject/build
を指定して、Configureボタンを押すと、選択画面がでるのでVisual Studio 9 C++ 2008を選ぶ。
flex,bisonのパスが分からないとエラーが出るので、該当する場所(右側のテキストボックス)で以下のパスを選択する。
(エラーは、別々にでるので、Configureボタンをその都度押す)
C:/Program/GnuWin32/bin/flex.exe
C:/Program/GnuWin32/bin/bison.exe

  • エラーが出なくなったら続けてGenerateボタンを押す。

7.

コマンドプロンプトでC:\gitproject\build に入って以下のコマンドを打ってコンパイル&インストール

cmake --build . --config RelWithDebInfo
cmake --build . --target install --config RelWithDebInfo

※以下の方法だと、pythonのパスの関係でエラーが出たので上記方法で

C:\gitproject\build\qgis1.9.0.slnをVisual C++ 2008で起動する。
コンパイルオプションをRelWithDebInfoに変更して、コンパイルする。
  • 11/11現在エラーが1箇所あるけど、とりあえず無視

8

C:\Program Files\qgis1.9.0フォルダをC:\OSGeo4W\apps\qgis1.9.0に移動させます。
C:\OSGeo4W\bin\qgis.batをコピーして、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.3RC1\etc\env.bat
@echo off
path %PATH%;%OSGEO4W_ROOT%\apps\qgis1.9.0\bin;%OSGEO4W_ROOT%\apps\grass\grass-6.4.3RC1\lib
start "Quantum GIS" /B "%OSGEO4W_ROOT%"\apps\qgis1.9.0\bin\qgis.exe %*

9

qgis-mybuild.batをダブルクリックして、起動すればできあがり。

コメント

  • ぜひ日本語まわりのバグを修正してコミットしてください。