documentación · inicio rápido

Primeros pasos

El SDK viene ya compilado para Windows x64 y Linux x64. Se descomprime, se enlaza al proyecto y se ejecuta un primer programa.

01Requisitos

ElementoMínimoNotas
Compilador C++C++20Windows: MSVC 19.51 (Visual Studio 2026) o posterior, porque una biblioteca estática no se puede enlazar con un toolset más antiguo que el que la compiló. Linux: GCC 15 o posterior.
Runtime de MSVC/MDLas bibliotecas de Windows usan el runtime dinámico, /MD en Release y /MDd en Debug, el valor por defecto de CMake. El proyecto debe usar el mismo.
Plataformax64Windows x64, y Linux x64 con glibc 2.28 o posterior (compilado en Rocky Linux 8). macOS, ARM64, Clang y x86 de 32 bits aún no tienen SDK.
CMake3.21Para usar find_package. En Linux también funciona pkg-config.
Compilador CC11Solo para llamar a la capa C desde C. Se prueba como C11 y C17.
Bibliotecas del sistemaSolo las del SOWindows: ws2_32, advapi32, psapi, user32, winmm, wintrust, crypt32, iphlpapi, Synchronization, bcrypt. Linux: pthread, dl, m, rt. find_package y pkg-config las añaden automáticamente.

02Obtener el SDK

El SDK es un archivo .zip por plataforma, ya compilado. No hay nada que compilar ni instalar: se descomprime y se apunta el proyecto hacia él. El mismo archivo ejecuta la evaluación y, con una clave de serie, la edición con licencia.

Evaluación

La edición Standard, con todos los módulos, durante 30 días desde el primer uso en cada máquina. Sin registro, sin clave de serie.

  1. Descargar el archivo del SDK.
  2. Descomprímelo y enlázalo al proyecto (paso 04).
  3. Llamar a UnlockBundle con un serial vacío (paso 05).
Descargar el SDK

Con licencia

Tras la compra, el correo de confirmación trae todo lo necesario.

  1. El archivo del SDK correspondiente a la licencia.
  2. Una clave de serie temporal, válida durante 30 días.
  3. La clave de serie permanente, enviada automáticamente pasados esos 30 días.
Ver precios

03Qué incluye el SDK

Headers, la biblioteca estática en Release y Debug (la de Debug lleva el sufijo d), los archivos que hacen funcionar find_package y las herramientas de línea de comandos. Todos los módulos vienen compilados, incluidos los especializados (ver módulos incluidos).

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

La biblioteca también necesita algunas bibliotecas auxiliares pequeñas y definiciones de compilación. find_package y pkg-config las incorporan, así que conviene usar uno de los dos en lugar de listar los archivos a mano.

05Desbloquear y ejecutar

Llamar a Bundle::UnlockBundle una vez por aplicación, antes de usar cualquier módulo, con la clave de serie. Durante la evaluación, pasar una cadena vacía. Una clave rechazada devuelve un estado que indica el motivo: firma, formato, producto, validez o clave ausente. La verificación ocurre solo sin conexión, contra una clave pública compilada en la biblioteca. No se envía nada por la red.

#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 incluye la biblioteca entera. Cada header público también compila por sí solo, así que se puede incluir únicamente lo que se usa, como <ethereal/cpp/regex/regex_inc.hpp>.

06Módulos incluidos

Todos los módulos ya vienen compilados en el SDK, incluidos los especializados de abajo. Es una biblioteca estática, así que el enlazador solo toma el código que llama tu programa: un módulo que no se usa nunca no llega al binario.

MóduloEn el SDKQué añade
HTTPincluidoCliente HTTPS sobre el TLS 1.3 propio de la biblioteca
TelemetryincluidoMétricas, trazas W3C, exportación a Prometheus, OTLP y StatsD
Machine learningincluidoLos seis módulos de machine learning
LicensingincluidoKit de licencias Ed25519 para el producto propio
UpdaterincluidoCanal de actualizaciones firmado
CrashReportincluidoInformes de fallos y su envío
GuardincluidoPrimitivas antimanipulación, todas las piezas
TextincluidoUnicode 18: normalización, segmentación, colación, bidi, IDNA
Testing · Benchbibliotecas aparteEl framework de tests y el arnés de medición

07Siguientes pasos

Conoce más sobre Typename Studios y sus productos