documentação · início rápido

Começar

O SDK já vem compilado para Windows x64 e Linux x64. Descompacte, faça o link com o seu projeto e rode um primeiro programa.

01Requisitos

ItemMínimoObservações
Compilador C++C++20Windows: MSVC 19.51 (Visual Studio 2026) ou mais novo, porque uma biblioteca estática não pode ser linkada por um toolset mais antigo que o que a compilou. Linux: GCC 15 ou mais novo.
Runtime do MSVC/MDAs bibliotecas para Windows usam o runtime dinâmico, /MD em Release e /MDd em Debug, o padrão do CMake. O seu projeto precisa usar o mesmo.
Plataformax64Windows x64, e Linux x64 com glibc 2.28 ou mais nova (compilado no Rocky Linux 8). macOS, ARM64, Clang e x86 de 32 bits ainda não têm SDK.
CMake3.21Para usar o find_package. No Linux, o pkg-config também funciona.
Compilador CC11Só para chamar a camada C a partir de C. Ela é testada em C11 e C17.
Bibliotecas do sistemaSó as do SOWindows: ws2_32, advapi32, psapi, user32, winmm, wintrust, crypt32, iphlpapi, Synchronization, bcrypt. Linux: pthread, dl, m, rt. O find_package e o pkg-config adicionam essas bibliotecas para você.

02Obtenha o SDK

O SDK é um arquivo .zip por plataforma, já compilado. Não há nada para compilar nem instalar: você descompacta e aponta o seu projeto para ele. O mesmo arquivo roda a avaliação e, depois que você tiver uma chave serial, a edição licenciada.

Avaliação

A edição Standard, com todos os módulos, por 30 dias a partir do primeiro uso em cada máquina. Sem cadastro, sem chave serial.

  1. Baixe o arquivo do SDK.
  2. Descompacte e faça o link com o seu projeto (passo 04).
  3. Chame UnlockBundle com uma chave serial vazia (passo 05).
Baixar o SDK

Licenciada

Depois da compra, o e-mail de confirmação traz tudo.

  1. O arquivo do SDK para a sua licença.
  2. Uma chave serial temporária, válida por 30 dias.
  3. A chave serial permanente, enviada automaticamente ao fim desses 30 dias.
Ver preços

03O que vem no SDK

Os headers, a biblioteca estática em Release e Debug (a de Debug tem o sufixo d), os arquivos que fazem o find_package funcionar e as ferramentas de linha de comando. Todos os módulos já vêm compilados, inclusive os especializados (veja módulos incluídos).

ethereal-win-x64/
  include/ethereal/         # C++ and C headers
  lib/Ethereal.lib          # Release
  lib/Ethereald.lib         # Debug
  lib/cmake/Ethereal/       # find_package( Ethereal )
  bin/                      # etl-bench, etl-i18n, etl-trees, etl-neural, etl-modelguard, etl-update

A biblioteca também precisa de algumas bibliotecas auxiliares pequenas e de definições de compilação. O find_package e o pkg-config trazem tudo isso, então use um dos dois em vez de listar os arquivos à mão.

05Desbloqueie e rode

Chame Bundle::UnlockBundle uma vez por aplicação, antes de usar qualquer módulo, passando a sua chave serial. Durante a avaliação, passe uma string vazia. Se a chave for recusada, o status de retorno diz o motivo: assinatura, formato, produto, validade ou chave ausente. A verificação é feita só offline, com uma chave pública compilada na biblioteca. Nada é enviado pela rede.

#include <ethereal/cpp/pch/pch_ethereal.h>

int main( int argc, char ** argv )
{
    using namespace Ethereal;

    // once per application, before anything else
    const char * pSerial = ( argc > 1 ) ? argv[ 1 ] : "";

    const Bundle::EBundleUnlockStatus eStatus = Bundle::UnlockBundle( pSerial );

    if( eStatus != Bundle::eOk )
    {
        std::printf( "license refused, code %d\n", static_cast< int >( eStatus ) );
        return 1;
    }

    std::string sDigest;
    Crypto::SHA256::GetAs_String( "ethereal", sDigest );

    const UID::CUuid Id = UID::CUuid::Generate();

    std::printf( "%s\n%s\n", sDigest.c_str(), Id.ToString().c_str() );
}

pch_ethereal.h traz a biblioteca inteira. Cada header público também compila sozinho, então você pode incluir só o que usa, por exemplo <ethereal/cpp/regex/regex_inc.hpp>.

06Módulos incluídos

Todos os módulos já vêm compilados no SDK, inclusive os especializados abaixo. É uma biblioteca estática, então o linker só pega o código que o seu programa chama: um módulo que você nunca usa não chega ao seu binário.

MóduloNo SDKO que adiciona
HTTPincluídoCliente HTTPS sobre o TLS 1.3 da própria biblioteca
TelemetryincluídoMétricas, traces W3C e exportação para Prometheus, OTLP e StatsD
Machine learningincluídoOs seis módulos de machine learning
LicensingincluídoKit de licenças Ed25519 para o seu próprio produto
UpdaterincluídoCanal de atualização assinado
CrashReportincluídoRelatórios de falha e o seu envio
GuardincluídoPrimitivas anti-tamper, completas
TextincluídoUnicode 18: normalização, segmentação, ordenação, bidi, IDNA
Testing · Benchbibliotecas à parteO framework de testes e o harness de medição

07Próximos passos

Saiba mais sobre a Typename Studios e seus produtos