Installatie

Installatie van Aspose.Slides FOSS voor C++

Aspose.Slides FOSS for C++ is a header-and-source library built with CMake. It has no binary distribution; you integrate it directly into your CMake project from the GitHub repository. No Microsoft Office or other proprietary runtime is required.


Vereisten

VereisteDetail
C++-standaardC++20 of nieuwer
BouwsysteemCMake 3.20 of nieuwer
CompilerGCC 10+, Clang 13+, of MSVC 2019+ (elke compiler met C++20-ondersteuning)
BesturingssysteemWindows, macOS, Linux
Externe afhankelijkhedenGeen (alle afhankelijkheden zijn meegeleverd of alleen header‑only)

1. CMake FetchContent (Recommended)

De eenvoudigste manier om Aspose.Slides FOSS aan je project toe te voegen is CMake FetchContent. Voeg dit toe aan je CMakeLists.txt:

cmake_minimum_required(VERSION 3.20)
project(my_slides_app LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

include(FetchContent)
FetchContent_Declare(
    aspose_slides_foss
    GIT_REPOSITORY https://github.com/aspose-slides-foss/Aspose.Slides-FOSS-for-Cpp.git
    GIT_TAG        main
)
FetchContent_MakeAvailable(aspose_slides_foss)

add_executable(my_app main.cpp)
target_link_libraries(my_app PRIVATE aspose_slides_foss)

CMake downloadt de repository en maakt de bibliotheek‑target beschikbaar. Handmatig klonen of een systeem‑installatie is niet nodig.

Om een specifieke versie vast te zetten voor reproduceerbare builds, vervang main door een release‑tag of commit‑hash:

FetchContent_Declare(
    aspose_slides_foss
    GIT_REPOSITORY https://github.com/aspose-slides-foss/Aspose.Slides-FOSS-for-Cpp.git
    GIT_TAG        v26.3.0
)

2. Git Submodule

Als je de broncode liever in je eigen repository opneemt:

git submodule add https://github.com/aspose-slides-foss/Aspose.Slides-FOSS-for-Cpp.git third_party/aspose_slides_foss

Verwijs er vervolgens naar vanuit je CMakeLists.txt:

add_subdirectory(third_party/aspose_slides_foss)
target_link_libraries(my_app PRIVATE aspose_slides_foss)

3. Build and Verify

Na het toevoegen van de afhankelijkheid, configureer en bouw je project:

cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build

Maak een minimale main.cpp om de build te verifiëren:

#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/export/save_format.h>
#include <Aspose/Slides/Foss/slide.h>
#include <Aspose/Slides/Foss/slide_collection.h>

#include <iostream>

using namespace Aspose::Slides::Foss;

int main() {
    Presentation pres;
    std::cout << "Aspose.Slides FOSS built successfully" << std::endl;
    std::cout << "Slides in empty presentation: " << pres.slides().size() << std::endl;
    return 0;
}

Verwachte output:

Aspose.Slides FOSS built successfully
Slides in empty presentation: 1

Snelstart: Een presentatie maken met een vorm

Het volgende programma maakt een nieuwe presentatie, voegt een rechthoek met tekst toe, en slaat deze op als een .pptx bestand:

#include <Aspose/Slides/Foss/auto_shape.h>
#include <Aspose/Slides/Foss/export/save_format.h>
#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/shape_collection.h>
#include <Aspose/Slides/Foss/shape_type.h>
#include <Aspose/Slides/Foss/slide.h>
#include <Aspose/Slides/Foss/slide_collection.h>
#include <Aspose/Slides/Foss/text_frame.h>

#include <iostream>

using namespace Aspose::Slides::Foss;

int main() {
    Presentation pres;
    auto& slide = pres.slides()[0];

    // Add a rectangle shape and set its text
    auto& shape = slide.shapes().add_auto_shape(ShapeType::RECTANGLE, 50, 50, 400, 150);
    shape.text_frame()->set_text("Hello from Aspose.Slides FOSS!");

    pres.save("hello.pptx", SaveFormat::PPTX);
    std::cout << "Saved hello.pptx" << std::endl;
    return 0;
}

Belangrijk: Presentation maakt gebruik van RAII. Wanneer het object buiten de scope valt, worden interne bronnen automatisch vrijgegeven. Je kunt ook aanroepen pres.dispose() expliciet indien nodig; het meerdere keren aanroepen is veilig.


Platformnotities

Windows, macOS, Linux: De bibliotheek wordt identiek gebouwd op alle platformen. Er zijn geen platformspecifieke codepaden of binaire extensies.

Docker / CI: Kloon of haal de repository op in je buildstap en voer CMake uit. Er zijn geen extra systeempakketten nodig, behalve een C++20-compiler en CMake.

vcpkg / Conan: Momenteel niet gepubliceerd voor vcpkg of Conan. Gebruik in plaats daarvan FetchContent of een git-submodule.


Aanvullende bronnen

 Nederlands