Установка

Установка Aspose.Slides FOSS для 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.


Требования

ТребованиеПодробности
Стандарт C++C++20 или новее
Система сборкиCMake 3.20 или новее
КомпиляторGCC 10+, Clang 13+ или MSVC 2019+ (любой компилятор с поддержкой C++20)
Операционная системаWindows, macOS, Linux
Внешние зависимостиОтсутствуют (все зависимости включены в репозиторий или являются только заголовочными)

1. CMake FetchContent (Recommended)

Самый простой способ добавить Aspose.Slides FOSS в ваш проект — это CMake FetchContent. Добавьте это в ваш 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 загружает репозиторий и делает цель библиотеки доступной. Ручное клонирование или системная установка не требуются.

Чтобы зафиксировать конкретную версию для воспроизводимых сборок, замените main на тег релиза или хеш коммита:

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

Если вы предпочитаете включать исходный код в ваш репозиторий:

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

Затем ссылаться на него из вашего CMakeLists.txt:

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

3. Build and Verify

После добавления зависимости сконфигурируйте и соберите ваш проект:

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

Создайте минимальный main.cpp для проверки сборки:

#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;
}

Ожидаемый вывод:

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

Быстрый старт: создание презентации с фигурой

Следующая программа создает новую презентацию, добавляет прямоугольник с текстом и сохраняет её как .pptx файл:

#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;
}

Важно: Presentation использует RAII. Когда объект выходит из области видимости, внутренние ресурсы освобождаются автоматически. Вы также можете вызвать pres.dispose() явно при необходимости; вызов несколько раз безопасен.


Примечания к платформе

Windows, macOS, Linux: Библиотека собирается одинаково на всех платформах. Нет платформенно‑специфичных путей кода или бинарных расширений.

Docker / CI: Клонируйте или получайте репозиторий на этапе сборки и запустите CMake. Не требуются дополнительные системные пакеты, кроме компилятора C++20 и CMake.

vcpkg / Conan: В настоящее время не опубликовано в vcpkg или Conan. Вместо этого используйте FetchContent или git‑submodule.


Дополнительные ресурсы

 Русский