TerraLib and TerraView Wiki Page

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
wiki:documentation:mini_curso [2016/01/14 16:28]
gribeiro [Roteiro de Preparacão da Máquina Virtual]
wiki:documentation:mini_curso [2016/01/26 11:33] (current)
gribeiro [Roteiro de Preparacão da Máquina Virtual]
Line 4: Line 4:
  
   * **Parte 2 (12 hs):** Introdução a programação em TerraLib 5.0\\ Nessa parte do curso será exercitada a construção de aplicativos usando a biblioteca TerraLib na linguagem C++.   * **Parte 2 (12 hs):** Introdução a programação em TerraLib 5.0\\ Nessa parte do curso será exercitada a construção de aplicativos usando a biblioteca TerraLib na linguagem C++.
-    * Ambiente de compilação e building, incluindo acesso ao código fonte (1 h) +    * [[:​wiki:​documentation:​devguide#​downloading_the_source_code_and_building_instructions|Ambiente de compilação e building, incluindo acesso ao código fonte]] (1 h) 
-    * Dependências e bibliotecas de terceiros (1 h) +    * [[:​wiki:​documentation:​devguide:​dependencies|Dependências e bibliotecas de terceiros]] (1 h) 
-    * Visão geral dos módulos (1 h) +    * [[:​wiki:​documentation:​devguide#​modules|Visão geral dos módulos]] (1 h) 
     * Exercitando o módulo data access (2 h)     * Exercitando o módulo data access (2 h)
     * Exercitando o módulo vector processing (2 h)     * Exercitando o módulo vector processing (2 h)
Line 12: Line 12:
     * Framework de aplicação e sistema de plug-ins (2 h)      * Framework de aplicação e sistema de plug-ins (2 h) 
     * Reuso das interfaces gráficas Qt fornecidas pela biblioteca (1 h)     * Reuso das interfaces gráficas Qt fornecidas pela biblioteca (1 h)
- 
 ===== Máquina Virtual ===== ===== Máquina Virtual =====
  
Line 20: Line 19:
     * Usuário: terralib5     * Usuário: terralib5
     * Senha: terra500$lib     * Senha: terra500$lib
-  * PostgreSQL 9.4.0 +  * PostgreSQL 9.4.
-  * PostGIS 2.1.17+    * Usuário: postgres 
 +    * Senha: secreto 
 +  * PostGIS 2.1.8
   * TerraLib 5.1.0-alpha:​ ''/​home/​terralib5/​mylibs/​terralib5''​   * TerraLib 5.1.0-alpha:​ ''/​home/​terralib5/​mylibs/​terralib5''​
   * TerraView 5.1.0-alpha:​ ''/​home/​terralib5/​mylibs/​terralib5''​   * TerraView 5.1.0-alpha:​ ''/​home/​terralib5/​mylibs/​terralib5''​
Line 28: Line 29:
   * Dados de teste: ''/​home/​terralib5/​curso/​data''​   * Dados de teste: ''/​home/​terralib5/​curso/​data''​
   * Pacote dos fontes de bibliotecas de terceiro: ''/​home/​terralib5/​curso/​third-party''​   * Pacote dos fontes de bibliotecas de terceiro: ''/​home/​terralib5/​curso/​third-party''​
- 
 ==== Roteiro de Preparacão da Máquina Virtual ==== ==== Roteiro de Preparacão da Máquina Virtual ====
  
-Todos os detalhes do roteiro abaixo podem ser consultados [[wiki:​documentation:​devguide#​downloading_the_source_code_and_building_instructions|no Guia do Desenvolvedor]]. ​+Todos os detalhes do roteiro abaixo podem ser consultados ​no [[wiki:​documentation:​devguide#​downloading_the_source_code_and_building_instructions|Guia do Desenvolvedor]]. ​
  
 **1.** Atualizar seu gerenciador de pacotes: **1.** Atualizar seu gerenciador de pacotes:
Line 48: Line 48:
  
 $ GIT_SSL_NO_VERIFY=true git clone https://​tester:​terralibdpi@git.dpi.inpe.br/​terralib5 . $ GIT_SSL_NO_VERIFY=true git clone https://​tester:​terralibdpi@git.dpi.inpe.br/​terralib5 .
 +</​code>​
 +
 +Obs.: Você pode setar a configuração global para não utilizar certificados SSL da seguinte forma:
 +<code bash>
 +$ git config --global http.sslVerify false
 </​code>​ </​code>​
  
 **4.** Alterar para o branch release-5.1:​ **4.** Alterar para o branch release-5.1:​
 <code bash> ​ <code bash> ​
-$ git checkout -b develop ​origin/​release-5.1+$ git checkout -b release-5.1 ​origin/​release-5.1
 </​code>​ </​code>​
  
Line 69: Line 74:
 **7.** Criar diretório de build: **7.** Criar diretório de build:
 <code bash> <code bash>
-$ cd ~/​curso/​terralib5 & mkdir build-release & cd build-release+$ cd ~/​curso/​terralib5 ​&& mkdir build-release ​&& cd build-release
 </​code>​ </​code>​
  
-**8.** Executar CMake para gerar instrucoes ​de build:+**8.** Executar CMake para gerar instrucões ​de build:
 <code bash> <code bash>
-cmake -G "Unix Makefiles"​ -DCMAKE_BUILD_TYPE:​STRING="​Release"​ -DCMAKE_INSTALL_PREFIX:​PATH="/​home/​terralib5/​mylibs/​terralib5"​ -DCMAKE_PREFIX_PATH:​PATH="/​home/​terralib5/​mylibs;/​home/​terralib5/​mylibs/​pgsql;/​home/​terralib5/​mylibs/​gdal2"​ ../​codebase/​build/​cmake+cmake -G "Unix Makefiles"​ -DCMAKE_BUILD_TYPE:​STRING="​Release"​ -DCMAKE_INSTALL_PREFIX:​PATH="/​home/​terralib5/​mylibs/​terralib5"​ -DCMAKE_PREFIX_PATH:​PATH="/​home/​terralib5/​mylibs;/​home/​terralib5/​mylibs/​pgsql;/​home/​terralib5/​mylibs/​gdal2;/​usr;/​usr/​local;​" ​-DTERRALIB_BUILD_UNITTEST_ENABLED:​BOOL=OFF -DTERRALIB_DOXYGEN_ENABLED:​BOOL=OFF -DGNUGETTEXT_INCLUDE_DIR:​PATH='/​usr/​include'​ -DGNUGETTEXT_LIBRARY:​FILEPATH='/​usr/​lib/​x86_64-linux-gnu/​libgettextpo.so'​ -DGNUICONV_LIBRARY:​FILEPATH='/​usr/​lib/​x86_64-linux-gnu/​libc.so' ​../​codebase/​build/​cmake
 </​code>​ </​code>​
  
 +**9.** Fazer o build e instalacão:​
 +<code bash>
 +$ make -j 4
 +
 +$ make install
 +</​code>​
 +
 +==== Conectando-se ao Servidor PostgreSQL ====
 +<code bash>
 +$ sudo -u postgres psql
 +</​code>​
 +
 +==== Criando um Atalho no Desktop do Ubuntu ====
 +
 +**1.** Criar um aqruivo chamado TerraView.desktop e salvá-lo na pasta ''​~/​Desktop'':​
 +<code bash>
 +[Desktop Entry]
 +Encoding=UTF-8
 +Type=Application
 +Name=TerraView 5.1.0 Beta
 +Comment=TerraView 5.1.0-Beta
 +Exec=env LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/​usr/​lib:/​usr/​local/​lib:/​home/​terralib5/​mylibs/​terralib5/​lib:/​home/​terralib5/​mylibs/​lib:/​home/​terralib5/​mylibs/​gdal2/​lib:/​home/​terralib5/​mylibs/​pgsql/​lib /​home/​terralib5/​mylibs/​terralib5/​bin/​terraview
 +Icon=/​home/​terralib5/​mylibs/​terralib5/​share/​terralib/​images/​png/​terralib-globe.png
 +StartupNotify=false
 +</​code>​
 +
 +**2.** Dar privilégio de execução para o atalho criado:
 +<code bash>
 +$ chmod 555 ~/​Desktop/​*.desktop
 +</​code>​
  
-**TODO:** verificar se algum parametro abaixo será necessário.+==== QtCreator ==== 
 +CMake Arguments:
 <​code>​ <​code>​
-make -j 4+-DCMAKE_PREFIX_PATH:​PATH="/​home/​terralib5/​mylibs;/​home/​terralib5/​mylibs/​pgsql;/​home/​terralib5/​mylibs/​gdal2;/​usr;/​usr/​local"​ -DTERRALIB_BUILD_UNITTEST_ENABLED:​BOOL=OFF -DTERRALIB_MOD_QT_PLUGINS_EDIT_ENABLED:​BOOL=OFF -DTERRALIB_MOD_QT_PLUGINS_MNT_ENABLED:​BOOL=OFF -DTERRALIB_MOD_BINDING_LUA_ENABLED:​BOOL=OFF -DTERRALIB_MOD_BINDING_PYTHON_ENABLED:​BOOL=OFF -DTERRALIB_DOXYGEN_ENABLED:​BOOL=OFF -DGNUGETTEXT_INCLUDE_DIR:​PATH='/​usr/​include'​ -DGNUGETTEXT_LIBRARY:​FILEPATH='/​usr/​lib/​x86_64-linux-gnu/​libgettextpo.so'​ -DGNUICONV_LIBRARY:​FILEPATH='/​usr/​lib/​x86_64-linux-gnu/​libc.so'​ -DCMAKE_INSTALL_PREFIX:​PATH="/​home/​terralib5/​myinstall/​terralib5"​ -DCMAKE_BUILD_TYPE:​STRING="​Debug"​ 
 +</​code>​
  
 +===== Guia do Desenvolvedor TerraLib =====
  
 +O mini-curso será baseado no seguinte documento: [[:​wiki:​documentation:​devguide|TerraLib 5 Developer'​s Guide]].
  
 +===== Instruções =====
  
 +Preparamos um conjunto de scripts CMake para realização das atividades de programação.
  
 +Para cada etapa do curso iremos utilizar um dos conjuntos de scripts abaixo:
 +  * [[:​wiki:​documentation:​mini_curso:​srs|SRS]]
 +  * [[:​wiki:​documentation:​mini_curso:​geom|Geometry]]
 +  * [[:​wiki:​documentation:​mini_curso:​dataaccess|Data Access]]
 +  * Framework de Aplicação
  
  
-cmake ../​codebase/​build/​cmake -DCMAKE_BUILD_TYPE:​STRING='​Release'​ -DCMAKE_INSTALL_PREFIX:​PATH='/​opt/​terralib5'​ -DCMAKE_PREFIX_PATH:​PATH='/​usr;/​usr/​local;/​usr/​local/​qwt-6.1.2'​ -DTERRALIB_BUILD_EXAMPLES_ENABLED:​BOOL=OFF -DTERRALIB_BUILD_UNITTEST_ENABLED:​BOOL=OFF -DTERRALIB_DOXYGEN_ENABLED:​BOOL=OFF -DTERRALIB_QHELP_ENABLED:​BOOL=OFF -DTERRALIB_QTRANSLATION_ENABLED:​BOOL=OFF -DGEOS_INCLUDE_DIR:​PATH='/​usr/​include/​geos'​ -DGNUGETTEXT_INCLUDE_DIR:​PATH='/​usr/​include'​ -DGNUGETTEXT_LIBRARY:​FILEPATH='/​usr/​lib/​x86_64-linux-gnu/​libgettextpo.so'​ -DGNUICONV_LIBRARY:​FILEPATH='/​usr/​lib/​x86_64-linux-gnu/​libc.so'​ 
-</​code>​