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
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
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
freexl
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
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
geos
Dependências
Modos de compilação
Observações
Foi usado o projeto Makefile para NMake para compilar.
libpng
Dependências
Modos de compilação
Observações
Usamos o CMake para gerar o projeto do Visual Studio.
libjpeg
Dependências
Modos de compilação
Observações
Precisamos alterar o projeto original para NMake para ajustar a configuração Debug.
libtiff
Dependências
Modos de compilação
Observações
Usamos o Makefile para NMake para compilar.
geotiff
Dependências
Modos de compilação
Observações
Usamos o projeto Makefile para NMake para compilar.
szip
Dependências
Modos de compilação
Observações
Não compilamos no Windows.
OpenSSL
Dependências
Modos de compilação
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
Dependências
Modos de compilação
Observações
Usamos o projeto Makefile para NMake para compilar.
icu
Dependências
Modos de compilação
Observações
Usamos o projeto do Visual Studio fornecido pela biblioteca.
xerces-c
Dependências
Modos de compilação
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
Dependências
Modos de compilação
Observações
Na pasta win32/VC10 a solution libxml2.sln
libxlst
Dependências
Modos de compilação
Observações
Na pasta libxslt-1.1.28/win32 o arquivo Makefile.msvc
Boost
Dependências
Modos de compilação
Observações
Possui mecânismo de compilação próprio acionado pela execução do arquivo bootstrap.bat
Passos para compilação
PostgreSQL
Dependências
libxml2
libxslt
e2fs (uuid)
Modos de compilação
Observações
Na pasta src o arquivo win32.mak
Passos para compilação
hdf4
Dependências
Modos de compilação
Observações
Arquivos .bat para build na pasta windows
Passos para compilação
sqlite
Dependências
Modos de compilação
Observações
Na pasta tea/win o arquivo makefile.vc
Passos para compilação
SpatiaLite
Dependências
iconv
freexl
sqlite3
proj
geos
Modos de compilação
Observações
Na pasta tea/win o arquivo makefile.vc
Passos para compilação
GDAL
Dependências
freexl
pg_config
png
jpeg
libtiff
geotiff
curl
xerces
geos
sqlite3
spatialite
hdf4
xml2-config
Modos de compilação
Observações
Na pasta tea/win o arquivo makefile.vc
Passos para compilação
GDAL
Dependências
freexl
pg_config
png
jpeg
libtiff
geotiff
curl
xerces
geos
sqlite3
spatialite
hdf4
xml2-config
Modos de compilação
Observações
Na pasta tea/win o arquivo makefile.vc
Passos para compilação
cppunit
Dependências
Modos de compilação
Observações
Passos para compilação
qtpropertybrowser
Dependências
Modos de compilação
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
Lua
Dependências
Modos de compilação
Observações
Passos para compilação
QScintilla
Dependências
Modos de compilação
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
QWT
Dependências
Modos de compilação
Observações
Passos para compilação
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
.