環境
- MinGW 5.0.3 (E:/Build/mingwにインストールしてください)
- MSYS-1.0.11 (E:/Build/msysにインストールしてください。) http://www.baldanders.info/spiegel/remark/archives/000209.shtml (日本語)
- pthread-win32-2.7.0
ftp://sources.redhat.com/pub/pthreads-win32/からprebuild-dll-2-7-0-releaseをダウンロードしてください。
cp /include/*.h /mingw/include cp /lib/libpthreadGC2.a /mingw/lib/libpthread.a
CMake
最新のバージョン(2.4.7)を使用してください。
#./configure --prefix=E:/Build/msys/1.0/local #make #make install
または、Windowsインストーラを使用できます。
Boost
v2問題のため、以前のバージョン(1.33.1)を使用してください。
#bjam -sTOOLS=mingw "-sBUILD=release <runtime-link>static <threading>multi <native-wchar_t>on" --prefix=/e/Build/msys/1.0/local install #mv /usr/local/include/boost-1_33_1/boost /usr/local/include/boost #rmdir /usr/local/include/boost-1_33_1
CGALライブラリ(到達圏探索機能)を必要としない場合は、pgRoutingはBoostヘッダーのみ使用します。その場合、Boostヘッダー(バージョン1.33.1またはそれ以上)をダウンロードして抜き出してください。
Gaul
最新のバージョン(0.1849-0)を使用してください。
#./configure --enable-slang=no edit /util/Makefile DEFS = -DHAVE_CONFIG_H -> DEFS = -DHAVE_CONFIG_H -DBUILDING_DLL edit /src/Makefile DEFS = -DHAVE_CONFIG_H -> DEFS = -DHAVE_CONFIG_H -DBUILDING_DLL INCLUDES = -I../util/ -I../../util/ -> INCLUDES = -I../util -I../../util edit /tests/Makefile DEFS = -DHAVE_CONFIG_H -> DEFS = -DHAVE_CONFIG_H -DBUILDING_DLL INCLUDES = -I../util/ -I../../util/ -I../src/ -I../../src/ -I/usr/include/slang/ -> INCLUDES = -I../util -I../../util -I../src -I../../src -I/usr/include/slang/ #make #make install
CGAL
最新のバージョン(3.2.1)を使用してください。
#./install_cgal --prefix=/usr/local/cgal --with-BOOST --BOOST_INCL_DIR=/usr/local/include --BOOST_LIB_DIR=/usr/local/lib --without-autofind -ni /mingw/bin/g++ #cp /usr/local/cgal/include/CGAL/config/i686_MINGW32NT-5.1_g++-3.4.2/CGAL/compiler_config.h /usr/local/cgal/include/CGAL/compiler_config.h #cp /usr/local/cgal/lib/i686_MINGW32NT-5.1_g++-3.4.2/libCGAL.a /usr/local/cgal/lib/libCGAL.a #cp /usr/local/cgal/lib/i686_MINGW32NT-5.1_g++-3.4.2/libCGAL.so /usr/local/cgal/lib/libCGAL.so
pgRouting
#cmake -G"MSYS Makefiles" -DWITH_TSP=ON -DWITH_DD=ON .
CMakeCache.txt ファイルの編集
Boost_INCLUDE_DIR:PATH=Boost_INCLUDE_DIR-NOTFOUND -> Boost_INCLUDE_DIR:PATH=E:/Build/msys/1.0/local/include CGAL_INCLUDE_DIR:PATH=CGAL_INCLUDE_DIR-NOTFOUND -> CGAL_INCLUDE_DIR:PATH=E:/Build/msys/1.0/local/cgal/include CGAL_LIBRARIES:FILEPATH=CGAL_LIBRARIES-NOTFOUND -> CGAL_LIBRARIES:FILEPATH=E:/Build/msys/1.0/local/cgal/lib GAUL_LIBRARIES:FILEPATH=GAUL_LIBRARIES-NOTFOUND -> GAUL_LIBRARIES:FILEPATH=E:/Build/msys/1.0/local/lib
core\src\CMakeFiles\routing.dir\flags.make ファイルの編集
<drive> (例 "C")および<my path>を使用するシステム環境に合わせてください!
C_FLAGS = -Drouting_EXPORTS -O2 -g \ -I/<drive>/<my path>/msys/1.0/local/src/pgrouting/pgrouting/. \ -I/<drive>/<my path>/msys/1.0/local/src/pgrouting/pgrouting/core \ -I/<drive>/<my path>/msys/1.0/local/src/pgrouting/pgrouting/core/src \ -I/<drive>/<my path>/msys/1.0/local/src/pgrouting/pgrouting/extra \ -I/<drive>/<my path>/msys/1.0/local/src/pgrouting/pgrouting/extra/tsp \ -I/<drive>/<my path>/msys/1.0/local/src/pgrouting/pgrouting/extra/tsp/src \ -I/<drive>/<my path>/msys/1.0/local/src/pgrouting/pgrouting/extra/driving_distance \ -I/<drive>/<my path>/msys/1.0/local/src/pgrouting/pgrouting/extra/driving_distance/src \ -I/boost \ -I/<drive>/<my path>/msys/1.0/local/include \ -IC:/PROGRA~1/PostgreSQL/8.2/include/server \ -IC:/PROGRA~1/PostgreSQL/8.2/include/server/port/win32 CXX_FLAGS = -Drouting_EXPORTS -O2 -g -I/<drive>/<my path>/msys/1.0/local/src/pgrouting/pgrouting/. \ -I/<drive>/<my path>/msys/1.0/local/src/pgrouting/pgrouting/core \ -I/<drive>/<my path>/msys/1.0/local/src/pgrouting/pgrouting/core/src \ -I/<drive>/<my path>/msys/1.0/local/src/pgrouting/pgrouting/extra \ -I/<drive>/<my path>/msys/1.0/local/src/pgrouting/pgrouting/extra/tsp \ -I/<drive>/<my path>/msys/1.0/local/src/pgrouting/pgrouting/extra/tsp/src \ -I/<drive>/<my path>/msys/1.0/local/src/pgrouting/pgrouting/extra/driving_distance \ -I/<drive>/<my path>/msys/1.0/local/src/pgrouting/pgrouting/extra/driving_distance/src \ -I/boost \ -I/<drive>/<my path>/msys/1.0/local/include \ -IC:/PROGRA~1/PostgreSQL/8.2/include/server \ -IC:/PROGRA~1/PostgreSQL/8.2/include/server/port/win32
core\src\CMakeFiles\routing.dir\build.make ファイルの編集
<drive> (例 "C")および<my path>を使用するシステム環境に合わせてください!
routing_EXTERNAL_OBJECTS = \
最終行を次のように編集してください。(not make clean!!!)
cd /<drive>/<my path>/pgrouting/core/src && /<drive>/<my path>/mingw/bin/g++.exe $(routing_OBJECTS) $(routing_EXTERNAL_OBJECTS) \ -L/<drive>/<my path>/msys/1.0/local/lib \ -LC:/PROGRA~1/PostgreSQL/8.2/lib \ -lpostgres -shared -o ../../lib/librouting.dll \ -Wl,--out-implib,../../lib/librouting.dll.a \ -Wl,--major-image-version,0,--minor-image-version,0
extra\tsp\src\CMakeFiles\routing_tsp.dir\flags.make ファイルの編集
C_FLAGS = -Drouting_tsp_EXPORTS -g -O2 -IE:/Build/msys/1.0/local/include -I/E/Build/msys/1.0/local/src/pgrouting/pgrouting/core/src -IC:/PROGRA~1/PostgreSQL/8.2/include/server -IC:/PROGRA~1/PostgreSQL/8.2/include/server/port/win32 CXX_FLAGS = -Drouting_tsp_EXPORTS -g -O2 -IE:/Build/msys/1.0/local/include -I/E/Build/msys/1.0/local/src/pgrouting/pgrouting/core/src -IC:/PROGRA~1/PostgreSQL/8.2/include/server -IC:/PROGRA~1/PostgreSQL/8.2/include/server/port/win32 -DBUILDING_DLL
extra\tsp\src\CMakeFiles\routing_tsp.dir\build.make ファイルの編集
routing_tsp_EXTERNAL_OBJECTS = \
最終行を次のように編集してください。
cd /E/Build/msys/1.0/local/src/pgrouting/pgrouting/extra/tsp/src && /e/Build/mingw/bin/g++.exe $(routing_tsp_OBJECTS) $(routing_tsp_EXTERNAL_OBJECTS) -LE:/Build/msys/1.0/local/lib -LC:/PROGRA~1/PostgreSQL/8.2/lib -lpostgres -lgaul -lgaul_util -lm -shared -o ../../../lib/librouting_tsp.dll -Wl,--out-implib,../../../lib/librouting_tsp.dll.a -Wl,--major-image-version,0,--minor-image-version,0 -Wl,--export-all-symbols
extra\driving_distance\src\CMakeFiles\routing_dd.dir\flags.make ファイルの編集
C_FLAGS = -Drouting_dd_EXPORTS -g -O2 -IE:/Build/msys/1.0/local/include -I/E/Build/msys/1.0/local/src/pgrouting/pgrouting/core/src -I/E/Build/msys/1.0/local/cgal/include -IC:/PROGRA~1/PostgreSQL/8.2/include/server -IC:/PROGRA~1/PostgreSQL/8.2/include/server/port/win32 CXX_FLAGS = -Drouting_dd_EXPORTS -g -O2 -IE:/Build/msys/1.0/local/include -I/E/Build/msys/1.0/local/src/pgrouting/pgrouting/core/src -I/E/Build/msys/1.0/local/cgal/include -IC:/PROGRA~1/PostgreSQL/8.2/include/server -IC:/PROGRA~1/PostgreSQL/8.2/include/server/port/win32
extra\driving_distance\src\CMakeFiles\routing_dd.dir\build.make ファイルの編集
routing_dd_EXTERNAL_OBJECTS = \
最終行を次のように編集してください。
cd /E/Build/msys/1.0/local/src/pgrouting/pgrouting/extra/driving_distance/src && /e/Build/mingw/bin/g++.exe $(routing_dd_OBJECTS) $(routing_dd_EXTERNAL_OBJECTS) -LE:/Build/msys/1.0/local/lib -LE:/Build/msys/1.0/local/cgal/lib -LC:/PROGRA~1/PostgreSQL/8.2/lib -lCGAL -lpostgres -shared -o ../../../lib/librouting_dd.dll -Wl,--out-implib,../../../lib/librouting_dd.dll.a -Wl,--major-image-version,0,--minor-image-version,0
pgRoutingのビルド
#make
この日本語訳の著作権は、日本ユニシス株式会社に帰属しています。また、この日本語訳は、GNU FDLのもとで提供されています。