TerraLib and TerraView Wiki Page

Table of Contents

Tutorial de Build das Bibliotecas de Terceiros para Windows

Resumo: Este tutorial apresenta como as bibliotecas de terceiros (ou dependências) podem ser construídas para o ambiente de desenvolvimento do Microsoft Visual C++ 2013.

zlib

  • Versão: 1.2.8.
  • Dependências: N/A.
  • Requerido por: LibTIFF, libpng, HDF4, Curl.
  • Modos de compilação: CMake, Makefile e Solution.

Build Windows 32-bit

Entrar no command prompt do Visual Studio 2013 modo 32-bit:

cd \msvc2010-libs\zlib
mkdir build-32 && cd build-32
cmake .. -G"Visual Studio 10" -DCMAKE_INSTALL_PREFIX="C:\msvc2010-libs\zlib-win32"
msbuild /P:Configuration=Debug INSTALL.vcxproj
msbuild /P:Configuration=Release INSTALL.vcxproj

Build Windows 64-bit

Entrar no command prompt do Visual Studio 2013 modo 64-bit:

cd \msvc2010-libs\zlib
mkdir build-64 && cd build-64
cmake .. -G "Visual Studio 10 Win64" -DCMAKE_INSTALL_PREFIX="C:\msvc2010-libs\zlib-win64"
msbuild /P:Configuration=Debug INSTALL.vcxproj
msbuild /P:Configuration=Release INSTALL.vcxproj

Observações

iconv

  • Dependências: N/A.
  • Requerido por: SpatiaLite, LibXML2, Freexl
  • Modos de compilação: Solution.

Entrar no command prompt do Visual Studio 2013 modo 64-bits:

  cd iconv  
  msbuild /m /p:Configuration=Debug myIconv.sln
  msbuild /m /p:Configuration=Release myIconv.sln

Observações

  • Dica: A biblioteca foi alterada para funcionamento no windows.
  • Para a libiconv foi criado um projeto do visual studio.

freexl

  • Dependências: iconv.
  • Requerido por: GDAL, SpatiaLite
  • Modos de compilação: NMake Makefile.

Entrar no command prompt do Visual Studio 2013 modo 64-bits:

  cd freexl-1.0.1
  nmake /f makefile.vc 
:: limpa para a construção em Debug 
  nmake /f makefile.vc clean
:: Construção em Debug
  nmake /f makefile.vc DEBUG=1 

Observações

  • As duas configurações da biblioteca freexl são construídas no mesmo diretório. Isso siginifica que precisamos limpar o diretório para construí-la no modo debug.
  • Alterações foram feitas no arquivo nmake.opt para refletir o ambiente de build.

proj4

  • Dependências: N/A.
  • Requerido por: GDAL, GeoTiff, SpatiaLite
  • Modos de compilação: NMake Makefile, CMake.

Entrar no command prompt do Visual Studio 2013 modo 64-bits:

  cd proj-4.9.1
:: Passa o parâmetro de local de instalação 
  nmake /f makefile.vc install-all INSTDIR=%TERRALIB_DEPENDENCIES_DIR%
:: limpa para a construção em Debug 
  nmake /f makefile.vc clean
:: Construção em Debug
  nmake /f makefile.vc DEBUG=1

Observações

  • Arquivo nmake.opt foi alterado.

geos

  • Versão 3.4.2

Dependências

  • N/A

Modos de compilação

  • cmake
  • makefile
  • nmake.opt

Observações

  1. Foi usado o projeto Makefile para NMake para compilar.

libpng

  • Versão 1.5.17

Dependências

  • zlib

Modos de compilação

  • cmake
  • makefile

Observações

  1. Usamos o CMake para gerar o projeto do Visual Studio.

libjpeg

  • Versão 9a

Dependências

  • zlib

Modos de compilação

  • cmake
  • makefile

Observações

  1. Precisamos alterar o projeto original para NMake para ajustar a configuração Debug.

libtiff

  • Versão 4.0.3

Dependências

  • zlib
  • jpeg

Modos de compilação

  • makefile
  • nmake.opt

Observações

  1. Usamos o Makefile para NMake para compilar.

geotiff

  • Versão 1.4.0

Dependências

  • zlib
  • libtiff
  • proj

Modos de compilação

  • cmake
  • makefile

Observações

  1. Usamos o projeto Makefile para NMake para compilar.

szip

  • Versão 2.1

Dependências

  • N/A

Modos de compilação

  • cmake
  • Solution - Visual Studio 2008

Observações

  1. Não compilamos no Windows.

OpenSSL

  • Versão x

Dependências

  • zlib

Modos de compilação

  • cmake
  • makefile

Observações

  1. Para geração dos Makefiles e configurações das bibliotecas é necessário ter instalado o Perl. Assim é possível usar as rotinas para gerar os Makefiles.
  2. Para não exigir a instalação do Perl, geramos as duas configurações (debug, release) e renomeamos os arquivos gerados com a extensão .in .
  3. Assim, no script renomeamos os arquivos para sua forma original e usamos o NMake para compilar.
  4. Toda a explicação de como gerar os arquivos de Makefile estão descritos no arquivo INSTALL.W64 .
  5. Em todo o ambiente das third-parties existe um arquivo .obj. Esse arquivo não pode ser removido, porque ele faz parte da compilação completa da biblioteca.
  6. Caso o arquivo seja removido o ambiente de compilação falhará e será necessário regerar as configurações. E para fazer todo o processo é preciso o Perl.

curl

  • Versão 7.42.1

Dependências

  • OpenSSL
  • zlib

Modos de compilação

  • cmake

Observações

  1. Usamos o projeto Makefile para NMake para compilar.

icu

  • Versão 52

Dependências

  • N/A

Modos de compilação

  • Solution

Observações

  1. Usamos o projeto do Visual Studio fornecido pela biblioteca.

xerces-c

  • Versão 3.1.1

Dependências

  • icu
  • curl

Modos de compilação

  • Solution - Visual Studio 2010

Observações

  1. Na pasta projects/Win32/VC10/xerces-all existe um arquivo de solution
  2. Para usar a CURL e a ICU, foi preciso alterar alguns arquivos do projeto do Visual Studio.
  3. Esse novo projeto está na subpasta VC12 da pasta de projetos para Windows.
  4. Para suporte as mensagens pela ICU, precisamos executar dois programas gerados na compilação da ICU.
  5. Esses programas geram uma lib que deve ser linkada com a Xerces.
  6. Antes de começar a compilação, precisamos gerar essa lib com as definições do Xerces.

libxml2

  • Versão 2.9.1

Dependências

  • icu, sem python

Modos de compilação

  • Solution - Visual Studio 2010

Observações

  1. Na pasta win32/VC10 a solution libxml2.sln

libxlst

  • Versão 1.1.28

Dependências

  • libxml2

Modos de compilação

  • makefile

Observações

  1. Na pasta libxslt-1.1.28/win32 o arquivo Makefile.msvc

Boost

  • Versão 1.58.00

Dependências

  • icu
  • iconv
  • bzip2

Modos de compilação

  • N/A

Observações

  1. Possui mecânismo de compilação próprio acionado pela execução do arquivo bootstrap.bat

Passos para compilação

  1. Passo 1
  2. Passo 2
  3. Passo n

PostgreSQL

  • Versão 9.4.1

Dependências

  • libxml2
  • libxslt
  • e2fs (uuid)

Modos de compilação

  • makefile

Observações

  1. Na pasta src o arquivo win32.mak

Passos para compilação

  1. Passo 1
  2. Passo 2
  3. Passo n

hdf4

  • Versão 4.2.9

Dependências

  • szlib
  • zlib
  • jpeg
  • netcdf

Modos de compilação

  • cmake

Observações

  1. Arquivos .bat para build na pasta windows

Passos para compilação

  1. Passo 1
  2. Passo 2
  3. Passo n

sqlite

  • Versão 3.8.10.1

Dependências

  • N/A

Modos de compilação

  • makefile

Observações

  1. Na pasta tea/win o arquivo makefile.vc

Passos para compilação

  1. Passo 1
  2. Passo 2
  3. Passo n

SpatiaLite

  • Versão 4.2.0

Dependências

  • iconv
  • freexl
  • sqlite3
  • proj
  • geos

Modos de compilação

  • makefile
  • nmake.opt

Observações

  1. Na pasta tea/win o arquivo makefile.vc

Passos para compilação

  1. Passo 1
  2. Passo 2
  3. Passo n

GDAL

  • Versão 1.11.2

Dependências

  • freexl
  • pg_config
  • png
  • jpeg
  • libtiff
  • geotiff
  • curl
  • xerces
  • geos
  • sqlite3
  • spatialite
  • hdf4
  • xml2-config

Modos de compilação

  • makefile
  • nmake.opt

Observações

  1. Na pasta tea/win o arquivo makefile.vc

Passos para compilação

  1. Passo 1
  2. Passo 2
  3. Passo n

GDAL

  • Versão 2.0.1

Dependências

  • freexl
  • pg_config
  • png
  • jpeg
  • libtiff
  • geotiff
  • curl
  • xerces
  • geos
  • sqlite3
  • spatialite
  • hdf4
  • xml2-config

Modos de compilação

  • makefile
  • nmake.opt

Observações

  1. Na pasta tea/win o arquivo makefile.vc

Passos para compilação

  1. Passo 1
  2. Passo 2
  3. Passo n

cppunit

  • Versão 1.12.1

Dependências

  • N/A

Modos de compilação

  • Solution

Observações

  1. N/A

Passos para compilação

  1. Passo 1
  2. Passo 2
  3. Passo n

qtpropertybrowser

  • Versão 2.6

Dependências

  • QT 5

Modos de compilação

  • qmake

Observações

  1. O comando qmake tem de ser feito na pasta buildlib, logo após nmake /f Makefile.Debug ou nmake /f Makefile.Release

Passos para compilação

  1. Passo 1
  2. Passo 2
  3. Passo n

Lua

  • Versão 5.2

Dependências

  • N/A

Modos de compilação

  • N/A

Observações

  1. N/A

Passos para compilação

  1. Passo 1
  2. Passo 2
  3. Passo n

QScintilla

  • Versão 2.8

Dependências

  • QT 5

Modos de compilação

  • makefile
  • qmake

Observações

  1. O comando qmake tem de ser feito na pasta buildlib, logo após nmake /f Makefile.Debug ou nmake /f Makefile.Release

Passos para compilação

  1. Passo 1
  2. Passo 2
  3. Passo n

QWT

  • Versão 6.1.2

Dependências

  • QT 5

Modos de compilação

  • makefile
  • qmake

Observações

  1. N/A

Passos para compilação

  1. Passo 1
  2. Passo 2
  3. Passo n

Usando o Script BAT para Compilação das Bibliotecas

Baixe o pacote de bibliotecas utilizada pela equipe de desenvolvimento da TerraLib para Windows versão 64-bit: terralib-3rdparty-win64.zip.

Descompacte o pacote obtido acima numa pasta: C:\TerraLib5\Dependencies.