| Название: Не подгружается плагин в Linux Отправлено: Lion от Октября 08, 2008, 17:59 Не получается подгрузить плагин, который использует другую динамически подключаемую библиотеку в Linux, в Windows проблем нет.  Прикрепил тестовый проектик, после компиляции копирую файл libplugin.so в папку plugins, и файлы libutils.so* в папку где loader, поле запуска выдается сообщение WRONG LIBRARY BUILD CONTEXT, т.е. QPluginLoader::load() возвращает false. Что я делаю не так? Название: Re: Не подгружается плагин в Linux Отправлено: Admin от Октября 08, 2008, 20:25 у меня выдало eugene% eugene% ./loader PLUGIN LOADED "/home/eugene/tmp/666/PluginTest/plugins/libplugin.so" как я понял все гуд Название: Re: Не подгружается плагин в Linux Отправлено: Rcus от Октября 08, 2008, 20:32 Скорее всего дело в различии между механизмами разрешения имен динамических библиотек: в Windows первым делом проверяется текущий каталог, затем системные папки, и указанные в переменной %PATH%, под Linux по умолчанию проверки текущего каталога нет, но можно включить командой  Код: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./ И пара цитат из assistant: Цитировать QPluginLoader::~QPluginLoader ()Так что QPluginLoader можно спокойно создавать на стеке. Destroys the QPluginLoader object. Unless unload() was called explicitly, the plugin stays in memory until the application terminates. Цитировать QString QPluginLoader::errorString () constПоможет проще диагностировать проблемы с загрузкой плагинов. Returns a text string with the description of the last error that occurred. Название: Re: Не подгружается плагин в Linux Отправлено: Lion от Октября 09, 2008, 18:05 Помогло - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./ Название: Re: Не подгружается плагин в Linux Отправлено: lit-uriy от Октября 09, 2008, 21:36 2 Lion, это тебе на локальной машине помогло, а у пользователя не поможет. т.к. он врятли будет такими настройками заниматься. Надо как Rcus, говорил в переменную окружения PATH путь прописывать или QLibrary::load. Название: Re: Не подгружается плагин в Linux Отправлено: Lion от Октября 09, 2008, 21:58 Я несовсем понял про QLibrary::load(), мне будет достаточно просто загрузить библиотеку или придется пользоваться функциями через QLibrary::resolve()? Название: Re: Не подгружается плагин в Linux Отправлено: ритт от Октября 09, 2008, 23:05 2lit-uriy, а при чём тут переменная окружения PATH ? |