Конфигурация среды выполнения Aspose.PDF для Rust via C++

Это стандартное требование при использовании нативных динамических библиотек в Rust.

В Linux и macOS системный динамический загрузчик не ищет автоматически каталог исполняемого файла, если не настроен RPATH. Чтобы ваше приложение могло найти нативную библиотеку Aspose.PDF во время выполнения, необходимо настроить RPATH (Run-time Search Path).

Наш скрипт сборки извлекает библиотеку и пытается создать символическую ссылку на неё в вашем выходном каталоге (например, target/debug/). Чтобы исполняемый файл мог его найти, выберите один из следующих вариантов:

Вариант 1: Конфигурация на уровне проекта (рекомендовано)

Создать папку с именем .cargo в корневом каталоге вашего проекта (если его не существует) и создайте файл с именем config.toml внутри:

[target.'cfg(target_os = "linux")']
rustflags = ["-C", "link-arg=-Wl,-rpath,$ORIGIN"]

[target.'cfg(target_os = "macos")']
rustflags = ["-C", "link-arg=-Wl,-rpath,@loader_path"]

Вариант 2: Переменная окружения RUSTFLAGS

Соберите свой проект с помощью следующего флага:

# Linux
RUSTFLAGS="-C link-arg=-Wl,-rpath,\$ORIGIN" cargo build

# macOS
RUSTFLAGS="-C link-arg=-Wl,-rpath,@loader_path" cargo build

Вариант 3: Системная установка (не рекомендуется для разработки)

Если вы предпочитаете установить библиотеку глобально:

  • Linux: Скопировать .so файл к /usr/local/lib и запустить sudo ldconfig.
  • macOS: Скопировать .dylib файл к /usr/local/lib.

Windows Обычно никаких действий не требуется, потому что библиотека находится в той же папке, что и .exe. В качестве альтернативы, вы можете добавить каталог, содержащий .dll в вашу систему PATH переменная среды.