Конфигурация среды выполнения 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переменная среды.