Daily Archives: 07/25/2013

Windows 7 32bit環境でQGISをSourceからCompileしてみた。

Windows 7 32bit環境でQGISをSourceからCompileしてみた。

QGIS2.0のreleaseに向けて、日本語環境と日本語の混在するデータ環境のチェックのため、QGISの開発環境を作成してみました。

こちらの、QGISをソースからコンパイルする方法(Windows環境)を参考にさせてもらいました。 
先人に感謝です。

今回の開発環境は、
Windows 7 32bit
Visual studio C++ Express Edition 2008
です。
64bitだとpath設定とかでこけたので、とりあえず32bitで。。。

英語版ならば、手順は、サイトの通りですので、参照してください。

開発環境の構築

まずは、開発環境を整えましょう。

Visual Studio関連

  1. Visual C++ Express Edition 2008をここからdownloadして、installする。
  2. Microsoft Windows Server 2003 R2 Platform SDKをここからdownloadして、仮想化ソフト等でマウントしてinstallする。(WinCDEmuなどのsoftware)

必要なLibrary関連

CMakeのinstall

CMake install
program files内にinstallする。

Flexのinstall

Flex install
C:¥GnuWin32にinstallする。
これは、QGISのConfig file作成時にfolder名にspaceがあるとエラーになるのを回避するためです。

Bisonのinstall

Bison install
C:¥GnuWin32にinstallする。
これは、QGISのConfig file作成時にfolder名にspaceがあるとエラーになるのを回避するためです。

GITのinstall

GITについては、installのdialogで
GIT install
cmd ternimalからも使えるようにoption buttonを変更します。

OSGeo4W関連

下記をdownloadする。

注意) osgeo4w-setup.exe実行は、管理者モードで行うこと。

OSGeo4Wでは、
OSGeo4W install
でアドバンス インストールを選択します。

そして、
OSGeo4W install
のように右上の表示(v)のbutonをclickして一覧表示させます。この方がinstallする項目が少ないので便利です。

新規列のskipをclickして下記のlibralyをinstall

  1. expat
  2. fcgi
  3. gdal
  4. gdal-python
  5. grass
  6. gsl-devel
  7. iconv
  8. libspatialindex-devel
  9. pyqt4
  10. python-qscintilla
  11. qt4-devel
  12. qwt5-devel-qt4
  13. sip
  14. spatialite

include fileのcopy

C:¥GnuWin32¥includeの中身をC:¥Program Files¥Microsoft Visual Studio 9.0¥VC¥includeにcopyします。 

作業folder作成とbatch file作成

作業folderをc:¥に作成します。
とりあえずは何でもかまわないので、ここでは、c:¥qgisProjectとしました。

このc:¥qgisProjectに、build_init.batでbatch fileを作成します。

@echo off
path %SYSTEMROOT%¥system32;%SYSTEMROOT%;%SYSTEMROOT%¥System32¥Wbem;%PROGRAMFILES%¥CMake 2.8¥bin;%PROGRAMFILES%¥subversion¥bin;c:¥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.3RC4
@set INCLUDE=%INCLUDE%;%OSGEO4W_ROOT%¥include
@set LIB=%LIB%;%OSGEO4W_ROOT%¥lib;%OSGEO4W_ROOT%¥lib

@cmd

注意) 上記batch file code中の¥は全角ですので、半角に変更してください。
また、grassのversionが変わる可能性があるので、c:/OSGeo4W/apps/grass/内のversionを確認する必要があります。

QGISのSourceのGit

QGISのSourceを取得します。これはGITを使用します。
cmd ternimalを起動して、

  1. Current folderをC:¥qgisProject¥に変更する。
  2. git clone git://github.com/qgis/Quantum-GIS.git を実行
  3. コマンドプロンプトでbuild_init.batを実行する。
  4. C:¥gitproject¥build folderを作る

QGISのgitがうまくいけば、
GIT Source get
のようにsourceが取得されます。

configureとmake file作成

Current folderをC:¥qgisProject¥で以下のcommandを入力します。

cmake-gui

cmakeが起動すると、

  1. Where is the source code: に C:/qgisProject/Quantum-GIS
  2. Whers to build the binaries: に C:/qgisProject/build
  3. CMAKE_INSTALL_PREFIX: C:/qgisProject/qgis1.9.0

を指定して、Configure buttonをclickすると、compilerの選択画面がでるのでVisual Studio 9 C++ 2008を選びます。
最終的には、
cmake-gui
のようになるので、エラーがなくなれば、Generate buttonをclickすると、make fileが作成されます。

QGISのexe作成

cmd ternimalを起動して、Current folderをC:¥qgisProject¥buildに変更して、以下のcommandでcompile & installします。

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

compile中は、
QGIS Compile
のようにずらずらとコマンドが実行されます。 

install時に1 failedとなっていますが、とりあえずは無視無視。(07/24/2013現在)

C:¥qgisProject¥build¥qgis1.9.0.slnをVisual C++ 2008で起動してcompileする方法もあるようですが、試していません。

QGISの実行

C:¥qgisProject¥qgis1.9.0¥内に、qgis-mybuild.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.3RC4¥etc¥env.bat
@echo off
path %PATH%;C:¥qgisProject¥qgis1.9.0¥bin;%OSGEO4W_ROOT%¥apps¥grass¥grass-6.4.3RC4¥lib
start "Quantum GIS" /B C:¥qgisProject¥qgis1.9.0¥bin¥qgis.exe %*

を入力します。

注意) 上記batch file code中の¥は全角ですので、半角に変更してください。
また、grassのversionが変わる可能性があるので、c:/OSGeo4W/apps/grass/内のversionを確認する必要があります。

qgis-mybuild.batをdouble clickして起動させると、
QGIS Openning
が表示されます。

その後、Pluginのerrorrが
QGIS Plugin error
な感じで表示されますが、無視無視。

そして、
QGIS
が起動します。

お~~~ 感激!!

次のステップ

とりあえずは、開発環境が作成できたので、次なるステップは?

  1. Plugin 「SEXTANTE」のチェック
  2. 7. Setting up a Jenkins Build Serverを参考にjenkinsを立ち上げる。
  3. 日本語を含むデータのチェック

などでしょうかね。

しかし、jenkins ちゅうのは、なんか凄そうなんですけど。。。
使いこなせるかなぁ???

jenkinsの詳しい情報は、jenkins wikiを見て下さいね。

1 / 11

Social Widgets powered by AB-WebLog.com.