powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Windows [игнор отключен] [закрыт для гостей] / RPATH?
2 сообщений из 2, страница 1 из 1
RPATH?
    #38382539
Фотография NekZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Волею судеб начал работать над внедрением Python'а в кроссплатформенное приложение. И столкнулся с проблемой разруливания зависимостей библиотек под вендой. В данном случае используется пропатченый интерпретатор питона. Необходимо обеспечить использование Qt-либ из питона напрямую. К сожалению опыта разработки под винду у меня не очень много.
Сразу к делу.
Есть ли в винде какое-то подобие RPATH как на Linux и на OS X?
Есть либы (PySide pyd modules), которые зависят от других либ (Qt dll modules). Скомпилено всё это добро на VS2008 (и можно ещё раз сконпелять, я не против). Связаны они через lib-файлы (к сожалению не через вызовы Win API LoadLibrary). Расположение Qt библиотек известно относительно PySide-овых модулей. На линуксе я эту проблему решил через RPATH для PySide модулей (дописал в CMake скрипт), на маке через install_name_tool всё решилось. В случае венды это создаёт проблему.

Варианты:
- положить Qt DLLs рядом с PySide - вариант говно, потому что вырастет размер дистрибутива и сам дистриб будет содержать дубликаты либ.
- положить PySide modules рядом с Qt DLLs а в site-packages/PySide/__init__.py захардкодить
__path__ = '../../../path/to/qt/modules'
тоже лажа, потому что там должны лежать только либы, используемые приложением непосредственно (приложение на C++/Qt)
- прохачить environment variable PATH - не работает вариант. Если её менять из Python'а а потом пытаться импортнуть PySide - тоже провалится, потому что PATH определяется ДО старта процесса и в данном процессе уже недействительно изменение.
- загружать заранее все Qt-либы при старте процесса Python'а в память через функции пакета types -- тоже говно, ибо оверхед большой
- создать бутстраппер (возможно shell скрипт), который будет запускать интерпретатор с нужным окружением -- один из возможных вариантов, но кривой и рассматривается как крайняя мера.
Подскажите, гуру Windows'а, какие возможны ещё варианты?
И да, приложение устанавливается через msi-пакет, и там возможно изменить PATH переменную, но, это тоже не дело, потому что, некоторым корпоративным клиентам отдаётся просто zip-архив.
...
Рейтинг: 0 / 0
RPATH?
    #38383240
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делайте скриптовые обёртки.
Некоторые вещи можно разрулить относительными путями в PATH и установкой домашнего каталога.
В комстроку ярлыков тоже много чего упихивается.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Windows [игнор отключен] [закрыт для гостей] / RPATH?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]