Mudanças entre as edições de "Manual de compilação do datad"

De MSTECH wiki
Ir para: navegação, pesquisa
 
(11 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 12: Linha 12:
 
Cpp-Netlib C++ Network Library
 
Cpp-Netlib C++ Network Library
 
   https://github.com/cpp-netlib/cpp-netlib
 
   https://github.com/cpp-netlib/cpp-netlib
 +
 
   Dentro da biblioteca cpp-netlib existem dependências, o melhor é melhor clonar o repositório e as dependências com os seguintes comandos:
 
   Dentro da biblioteca cpp-netlib existem dependências, o melhor é melhor clonar o repositório e as dependências com os seguintes comandos:
 
   1) git clone --depth=50 --branch=0.11-devel https://github.com/cpp-netlib/cpp-netlib.git cpp-netlib
 
   1) git clone --depth=50 --branch=0.11-devel https://github.com/cpp-netlib/cpp-netlib.git cpp-netlib
Linha 26: Linha 27:
  
 
== Compilando Boost C++ Library ==
 
== Compilando Boost C++ Library ==
Para compilar o DataD precisamos da versão 1.59.0 e para compilar a Cpp-netlib precisamos da versão 1.58.0. Os comando para instalação da boost é o mesmo para as duas versões.
+
Para compilar o DataD precisamos da versão 1.59.0 e para compilar a Cpp-netlib precisamos da versão 1.58.0.  
 +
Os comando para instalação da boost é o mesmo para as duas versões.
 +
 
 
Logo após extrair o conteúdo da biblioteca devemos entrar na sua pasta e executar os seguintes comandos:
 
Logo após extrair o conteúdo da biblioteca devemos entrar na sua pasta e executar os seguintes comandos:
1) Bootstrap.bat
+
  1) Bootstrap.bat
2) "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86
+
  2) "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86
3) bjam –clean
+
  3) bjam –clean
4) bjam -j4 --debug-symbols=on --build-type=complete toolset=msvc-14.0 threading=multi runtime-link=shared address-model=32
+
  4) bjam -j4 --debug-symbols=on --build-type=complete toolset=msvc-14.0 threading=multi runtime-link=shared address-model=32
5) bjam -j4 --debug-symbols=on --build-type=complete toolset=msvc-14.0 threading=multi runtime-link=static address-model=32
+
  5) bjam -j4 --debug-symbols=on --build-type=complete toolset=msvc-14.0 threading=multi runtime-link=static address-model=32
  
 
== Compilando a Biblioteca Crypto 5.6.4 ==
 
== Compilando a Biblioteca Crypto 5.6.4 ==
 +
 
Basta abrir a solução denominada “cryptest” e compilar o projeto da biblioteca denominada “cryplib”
 
Basta abrir a solução denominada “cryptest” e compilar o projeto da biblioteca denominada “cryplib”
Atens de compilar o projeto devemos conferir suas configurações:
+
 
* Menu: Project →Properties  
+
Atens de compilar o projeto devemos conferir suas configurações no Menu Project →Properties:
+
  C/C++ → Code Generation
C/C++ → Code Generation
+
    Enable C++ Exceptions: Yes (/Ehsc)
Enable C++ Exceptions: Yes (/Ehsc)
+
    Runtime Library: Multi-thread Debug (/MTd)
Runtime Library: Multi-thread Debug (/MTd)
+
 
Compilando a Cpp-Netlib C++ Network Library
+
== Compilando a Cpp-Netlib C++ Network Library ==
 
* Lembre-se: A Boost C++ Library 1.58.0 deve estar instalada
 
* Lembre-se: A Boost C++ Library 1.58.0 deve estar instalada
  
 
Devemos primeiro clonar a versão 0.12.0 e suas dependências com os seguintes comandos:
 
Devemos primeiro clonar a versão 0.12.0 e suas dependências com os seguintes comandos:
1) git clone --depth=50 --branch=0.11-devel https://github.com/cpp-netlib/cpp-netlib.git cpp-netlib
+
    1) git clone --depth=50 --branch=0.11-devel https://github.com/cpp-netlib/cpp-netlib.git cpp-netlib
2) git submodule update --init –recursive
+
3) Para gerar os arquivos da solução no windows devemos executar o seguinte script .bat
+
  
SET BOOST_VER=1.58.0
+
    2) git submodule update --init –recursive
SET BUILD_SHARED_LIBS="OFF"
+
SET CMAKE_BUILD_TYPE="Debug"
+
  
SET ENABLE_HTTPS="OFF"
+
    3) Para gerar os arquivos da solução no windows devemos executar o seguinte script .bat
  
cmake -DCPP-NETLIB_BUILD_TESTS=OFF -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=OFF -DCPP-NETLIB_ENABLE_HTTPS=OFF -DBOOST_INCLUDEDIR=C:/boost_1_58_0
+
        SET BOOST_VER=1.58.0
-DBOOST_LIBRARYDIR=C:/boost_1_58_0/stage/lib  
+
        SET BUILD_SHARED_LIBS="OFF"
-DCMAKE_CXX_FLAGS=-std=c++11 .
+
        SET CMAKE_BUILD_TYPE="Debug"
 +
        SET ENABLE_HTTPS="OFF"
 +
        cmake -DCPP-NETLIB_BUILD_TESTS=OFF -DCMAKE_BUILD_TYPE=Debug
 +
            -DBUILD_SHARED_LIBS=OFF -DCPP-NETLIB_ENABLE_HTTPS=OFF
 +
            -DBOOST_INCLUDEDIR=C:/boost_1_58_0
 +
            -DBOOST_LIBRARYDIR=C:/boost_1_58_0/stage/lib  
 +
            -DCMAKE_CXX_FLAGS=-std=c++11 .
  
4) Devemos abrir o arquivo da solução denominado “CPP-NETLIB.sln” que foi criado pelo cmake.
+
    4) Devemos abrir o arquivo da solução denominado “CPP-NETLIB.sln” que foi criado pelo cmake.
  
Antes de compilar os seguintes projetos: cppnetlib-uri, cppnetlib-client-connections ecppnetlib-server-parses da solução CPP-NETLIB devemos conferir as seguintes configurações:
+
Antes de compilar os seguintes projetos: cppnetlib-uri, cppnetlib-client-connections ecppnetlib-server-parses da solução CPP-NETLIB devemos     conferir as seguintes configurações no menu Project →Properties:
* Menu: Project →Properties  
+
  
a) C/C++ → Geral
+
  a) C/C++ → Geral
Additional Include Directories: (Caminho da boost e da própria cpp-netlib)
+
      Additional Include Directories: (Caminho da boost e da própria cpp-netlib)
C:\boost_1_58_0;C:\build-cpp-netlib\cpp-netlib11;%(AdditionalIncludeDirectories)
+
        C:\boost_1_58_0;C:\build-cpp-netlib\cpp-netlib11;%(AdditionalIncludeDirectories)
 
 
b) C/C++ → Code Generation
+
  b) C/C++ → Code Generation
Enable C++ Exceptions: Yes (/Ehsc)
+
      Enable C++ Exceptions: Yes (/Ehsc)
Runtime Library: Multi-thread Debug (/MTd)
+
      Runtime Library: Multi-thread Debug (/MTd)
  
  
Linha 77: Linha 82:
  
 
* Lembre-se: A Boost C++ Library 1.59.0 deve estar instalada
 
* Lembre-se: A Boost C++ Library 1.59.0 deve estar instalada
 +
 
1) Para gerar os arquivos da solução no windows devemos executar o seguinte script .bat
 
1) Para gerar os arquivos da solução no windows devemos executar o seguinte script .bat
 
+
 
cmake -DCMAKE_CXX_FLAGS=-std=c++11 -DCMAKE_BUILD_TYPE="Debug" .
+
  cmake -DCMAKE_CXX_FLAGS=-std=c++11 -DCMAKE_BUILD_TYPE="Debug" .
  
 
2) Devemos abrir o arquivo da solução denominado “datad.sln” que foi criado pelo cmake.
 
2) Devemos abrir o arquivo da solução denominado “datad.sln” que foi criado pelo cmake.
  
Antes de compilar o projeto devemos confirmar as seguintes configurações:
+
  Antes de compilar o projeto devemos confirmar as seguintes configurações no menu Project →Properties:
* Menu: Project →Properties  
+
  
a) C/C++ → Geral
+
    a) C/C++ → Geral
Additional Include Directories: (Caminho da boost e da própria cpp-netlib)
+
        Additional Include Directories: (Caminho da boost e da própria cpp-netlib)
C:\boost_1_58_0;C:\build-cpp-netlib\cpp-netlib11;%(AdditionalIncludeDirectories)
+
        C:\boost_1_58_0;C:\build-cpp-netlib\cpp-netlib11;%(AdditionalIncludeDirectories)
 
 
b) C/C++ → Code Generation
+
    b) C/C++ → Code Generation
Enable C++ Exceptions: Yes (/Ehsc)
+
        Enable C++ Exceptions: Yes (/Ehsc)
Runtime Library: Multi-thread Debug (/MTd)
+
        Runtime Library: Multi-thread Debug (/MTd)
 +
 
 +
    c) VC++ Directories
 +
        Include Directories:
 +
          $(VC_IncludePath);$(WindowsSDK_IncludePath);C:\boost_1_58_0;C:\build-cpp-netlib\cpp-netlib\cpp-netlib11;C:\build-datad
 +
 +
    d) Linker
 +
        Additional Library Directories:
 +
          C:\build-datad\cryptoopp\Win32\Output\Debug;C:\build-cpp-netlib\cpp-netlib\cpp-netlib11\libs\network\src\Debug;C:\boost_1_58_0\stage\lib;%(AdditionalLibraryDirectories)
 +
 
 +
== Depurando o DataD ==
 +
 
 +
Podemos depurá-lo basta executar com o parmametro -debug
 +
 
 +
O arquivo de log fica em ProgramData\MSTech\Datad.log
 +
 
 +
Script para parar serviços:
 +
 
 +
  sc stop "UpDriveControlPanel"
 +
  sc stop "Discod"
 +
  sc stop "Datad"
 +
  sc stop "UpDriveGlobalSettingsService"
 +
  sc stop "UpDriveRequestService"
 +
 
 +
Script para iniciar depuração:
 +
 
 +
  sc start "Discod"
 +
  sc start "UpDriveControlPanel"
 +
  sc start "UpDriveRequestService"
 +
  start c:\temp\datad.exe -debug
 +
  sc start "UpDriveGlobalSettingsService"

Edição atual tal como às 12h47min de 6 de outubro de 2016

Requisitos para compilação

Antes de compilarmos o datad devemos baixar e compilar as dependências, e também instalar o Cmake para geração os makefiles. Seguem as dependências:

Boost C++ Library Versão 1.59.0

 http://www.boost.org/

Cripto Library C++ Versão 5.6.4

 https://www.cryptopp.com/

Cpp-Netlib C++ Network Library

 https://github.com/cpp-netlib/cpp-netlib
 Dentro da biblioteca cpp-netlib existem dependências, o melhor é melhor clonar o repositório e as dependências com os seguintes comandos:
 1) git clone --depth=50 --branch=0.11-devel https://github.com/cpp-netlib/cpp-netlib.git cpp-netlib
 2) git submodule update --init –recursive
 * Também será necessário a biblioteca Boost versão 1.58.0

Cmake Verão 3.6.2 ==

 https://cmake.org/download/

Instalando o Cmake Verão 3.6.2

Basta baixar o MSI de instalação para arquitetura x86 denominado “cmake-3.6.2-win32-x86.zip” e instalar normalmente no windows. Devemos confirmar se o caminho do executável está na variavel PATH do windows para podermos chamá-lo de qualquer pasta quando necessário.

Compilando Boost C++ Library

Para compilar o DataD precisamos da versão 1.59.0 e para compilar a Cpp-netlib precisamos da versão 1.58.0. Os comando para instalação da boost é o mesmo para as duas versões.

Logo após extrair o conteúdo da biblioteca devemos entrar na sua pasta e executar os seguintes comandos:

 1) Bootstrap.bat
 2) "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86
 3) bjam –clean
 4) bjam -j4 --debug-symbols=on --build-type=complete toolset=msvc-14.0 threading=multi runtime-link=shared address-model=32
 5) bjam -j4 --debug-symbols=on --build-type=complete toolset=msvc-14.0 threading=multi runtime-link=static address-model=32

Compilando a Biblioteca Crypto 5.6.4

Basta abrir a solução denominada “cryptest” e compilar o projeto da biblioteca denominada “cryplib”

Atens de compilar o projeto devemos conferir suas configurações no Menu Project →Properties:

 C/C++ → Code Generation
   Enable C++ Exceptions: Yes (/Ehsc)
   Runtime Library: Multi-thread Debug (/MTd)

Compilando a Cpp-Netlib C++ Network Library

  • Lembre-se: A Boost C++ Library 1.58.0 deve estar instalada

Devemos primeiro clonar a versão 0.12.0 e suas dependências com os seguintes comandos:

   1) git clone --depth=50 --branch=0.11-devel https://github.com/cpp-netlib/cpp-netlib.git cpp-netlib
   2) git submodule update --init –recursive
   3) Para gerar os arquivos da solução no windows devemos executar o seguinte script .bat
       SET BOOST_VER=1.58.0
       SET BUILD_SHARED_LIBS="OFF"
       SET CMAKE_BUILD_TYPE="Debug"
       SET ENABLE_HTTPS="OFF"
       cmake -DCPP-NETLIB_BUILD_TESTS=OFF -DCMAKE_BUILD_TYPE=Debug 			
           -DBUILD_SHARED_LIBS=OFF -DCPP-NETLIB_ENABLE_HTTPS=OFF 			
           -DBOOST_INCLUDEDIR=C:/boost_1_58_0 		
           -DBOOST_LIBRARYDIR=C:/boost_1_58_0/stage/lib 
           -DCMAKE_CXX_FLAGS=-std=c++11 .
   4) Devemos abrir o arquivo da solução denominado “CPP-NETLIB.sln” que foi criado pelo cmake.

Antes de compilar os seguintes projetos: cppnetlib-uri, cppnetlib-client-connections ecppnetlib-server-parses da solução CPP-NETLIB devemos conferir as seguintes configurações no menu Project →Properties:

 a) C/C++ → Geral
     Additional Include Directories: (Caminho da boost e da própria cpp-netlib)
       C:\boost_1_58_0;C:\build-cpp-netlib\cpp-netlib11;%(AdditionalIncludeDirectories)
 b) C/C++ → Code Generation
     Enable C++ Exceptions: Yes (/Ehsc)
     Runtime Library: Multi-thread Debug (/MTd)


Finalmente compilando o DataD

  • Lembre-se: A Boost C++ Library 1.59.0 deve estar instalada

1) Para gerar os arquivos da solução no windows devemos executar o seguinte script .bat

 cmake -DCMAKE_CXX_FLAGS=-std=c++11 -DCMAKE_BUILD_TYPE="Debug" .

2) Devemos abrir o arquivo da solução denominado “datad.sln” que foi criado pelo cmake.

 Antes de compilar o projeto devemos confirmar as seguintes configurações no menu Project →Properties:
   a) C/C++ → Geral
       Additional Include Directories: (Caminho da boost e da própria cpp-netlib)
       C:\boost_1_58_0;C:\build-cpp-netlib\cpp-netlib11;%(AdditionalIncludeDirectories)
   b) C/C++ → Code Generation
       Enable C++ Exceptions: Yes (/Ehsc)
       Runtime Library: Multi-thread Debug (/MTd)
   c) VC++ Directories
       Include Directories: 
         $(VC_IncludePath);$(WindowsSDK_IncludePath);C:\boost_1_58_0;C:\build-cpp-netlib\cpp-netlib\cpp-netlib11;C:\build-datad
   d) Linker
       Additional Library Directories:
         C:\build-datad\cryptoopp\Win32\Output\Debug;C:\build-cpp-netlib\cpp-netlib\cpp-netlib11\libs\network\src\Debug;C:\boost_1_58_0\stage\lib;%(AdditionalLibraryDirectories)

Depurando o DataD

Podemos depurá-lo basta executar com o parmametro -debug

O arquivo de log fica em ProgramData\MSTech\Datad.log

Script para parar serviços:

 sc stop "UpDriveControlPanel"
 sc stop "Discod"
 sc stop "Datad"
 sc stop "UpDriveGlobalSettingsService"
 sc stop "UpDriveRequestService"

Script para iniciar depuração:

 sc start "Discod"
 sc start "UpDriveControlPanel"
 sc start "UpDriveRequestService"
 start c:\temp\datad.exe -debug
 sc start "UpDriveGlobalSettingsService"