การติดตั้ง

การติดตั้ง 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
การพึ่งพาภายนอกไม่มี (การพึ่งพาทั้งหมดเป็น vendored หรือ header‑only)

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 จะดาวน์โหลดรีโพซิทอรีและทำให้เป้าหมายไลบรารีพร้อมใช้งาน. ไม่จำเป็นต้องคล cloning ด้วยตนเองหรือการติดตั้งระดับระบบ.

เพื่อระบุเวอร์ชันเฉพาะสำหรับการสร้างที่ทำซ้ำได้, แทนที่ 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 แทน.


แหล่งข้อมูลเพิ่มเติม

 ภาษาไทย