Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
RPATH?
|
|||
|---|---|---|---|
|
#18+
Волею судеб начал работать над внедрением 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-архив. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2013, 15:49 |
|
||
|
|

start [/forum/topic.php?fid=26&tid=1495308]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
22ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 261ms |
| total: | 362ms |

| 0 / 0 |
