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
- Site: http://www.zlib.net.
- 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
- 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
- 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
- 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
- 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
- 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
- Não compilamos no Windows.
OpenSSL
- Versão x
Dependências
- zlib
Modos de compilação
- cmake
- makefile
Observações
- 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.
- 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 .
- Assim, no script renomeamos os arquivos para sua forma original e usamos o NMake para compilar.
- Toda a explicação de como gerar os arquivos de Makefile estão descritos no arquivo INSTALL.W64 .
- 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.
- 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
- Usamos o projeto Makefile para NMake para compilar.
icu
- Versão 52
Dependências
- N/A
Modos de compilação
- Solution
Observações
- 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
- Na pasta projects/Win32/VC10/xerces-all existe um arquivo de solution
- Para usar a CURL e a ICU, foi preciso alterar alguns arquivos do projeto do Visual Studio.
- Esse novo projeto está na subpasta VC12 da pasta de projetos para Windows.
- Para suporte as mensagens pela ICU, precisamos executar dois programas gerados na compilação da ICU.
- Esses programas geram uma lib que deve ser linkada com a Xerces.
- 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
- Na pasta win32/VC10 a solution libxml2.sln
libxlst
- Versão 1.1.28
Dependências
- libxml2
Modos de compilação
- makefile
Observações
- 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
- Possui mecânismo de compilação próprio acionado pela execução do arquivo bootstrap.bat
Passos para compilação
- Passo 1
- Passo 2
- Passo n
PostgreSQL
- Versão 9.4.1
Dependências
- libxml2
- libxslt
- e2fs (uuid)
Modos de compilação
- makefile
Observações
- Na pasta src o arquivo win32.mak
Passos para compilação
- Passo 1
- Passo 2
- Passo n
hdf4
- Versão 4.2.9
Dependências
- szlib
- zlib
- jpeg
- netcdf
Modos de compilação
- cmake
Observações
- Arquivos .bat para build na pasta windows
Passos para compilação
- Passo 1
- Passo 2
- Passo n
sqlite
- Versão 3.8.10.1
Dependências
- N/A
Modos de compilação
- makefile
Observações
- Na pasta tea/win o arquivo makefile.vc
Passos para compilação
- Passo 1
- Passo 2
- Passo n
SpatiaLite
- Versão 4.2.0
Dependências
- iconv
- freexl
- sqlite3
- proj
- geos
Modos de compilação
- makefile
- nmake.opt
Observações
- Na pasta tea/win o arquivo makefile.vc
Passos para compilação
- Passo 1
- Passo 2
- 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
- Na pasta tea/win o arquivo makefile.vc
Passos para compilação
- Passo 1
- Passo 2
- 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
- Na pasta tea/win o arquivo makefile.vc
Passos para compilação
- Passo 1
- Passo 2
- Passo n
cppunit
- Versão 1.12.1
Dependências
- N/A
Modos de compilação
- Solution
Observações
- N/A
Passos para compilação
- Passo 1
- Passo 2
- Passo n
qtpropertybrowser
- Versão 2.6
Dependências
- QT 5
Modos de compilação
- qmake
Observações
- 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
- Passo 1
- Passo 2
- Passo n
Lua
- Versão 5.2
Dependências
- N/A
Modos de compilação
- N/A
Observações
- N/A
Passos para compilação
- Passo 1
- Passo 2
- Passo n
QScintilla
- Versão 2.8
Dependências
- QT 5
Modos de compilação
- makefile
- qmake
Observações
- 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
- Passo 1
- Passo 2
- Passo n
QWT
- Versão 6.1.2
Dependências
- QT 5
Modos de compilação
- makefile
- qmake
Observações
- N/A
Passos para compilação
- Passo 1
- Passo 2
- 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
.