Название: Не подгружается плагин в 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 ?
|