Название: Плагин не загружается в Qt Designer из-за зависимостей от внешних dll Отправлено: boruh от Февраль 08, 2010, 02:23 Всем доброго времени суток.
Пишу на Win на Qt 4.5.3 + MSVS2008 Столкнулся с такой проблемой: сделал dll-плагин для Designer. В проекте есть так же еще одна библиотека, которая раньше собиралась как static lib. Все было замечательно. Но вот как только я переделал эту самую библиотеку на dll - плагин перестал загружаться. Я полагаю что проблема в том, что Qt Designer не может разрулить зависимость плагина от какой-то внешней dll. Пробовал переписать ее в папку плагинов - не помогло. Смотрю About - вижу свой плагин в Failed и вот что пишет: 1. Cannot load library C:/Qt/4.5.2-msvc2008/plugins/designer/CSIOControls.dll: The specified module could not be found. 2. The plugin 'C:/Qt/4.5.2-msvc2008/plugins/designer/CSIOControlsd.dll' uses incompatible Qt library. Expected build key "Windows msvc release full-config", got "Windows msvc debug full-config" 3. The file 'C:/Qt/4.5.2-msvc2008/plugins/designer/CSIODatabase.dll' is not a valid Qt plugin. (это та самая библиотека, которая была static lib а стала dll) Касаемо второго сообщения - тоже странно, не могу понять - все собираю в конфигурации Release и релизныне выходные файлы копирую в папку plugins/designer. Почему такое сообщение вдруг взялось - не понимаю. Кто-нибудь сталкивался с подобной задачей - сделать Qt plugin, который зависит от внешней dll-библиотеки? Помогите плиз! Название: Re: Плагин не загружается в Qt Designer из-за зависимостей от внешних dll Отправлено: boruh от Февраль 08, 2010, 02:55 Вот, пересобрал библиотеку как static lib - плагин сразу загрузился нормально. Причем сообщение про uses incompatible Qt library... осталось, но тем не менее это не мешает плагину успешно загружаться в дизайнер и работать.
Название: Re: Плагин не загружается в Qt Designer из-за зависимостей от внешних dll Отправлено: b-s-a от Февраль 08, 2010, 16:11 Попробуй CSIODatabase.dll положить в C:\windows\system32 для начала.
Название: Re: Плагин не загружается в Qt Designer из-за зависимостей от внешних dll Отправлено: crossly от Февраль 08, 2010, 16:12 Цитировать "Windows msvc release full-config", got "Windows msvc debug full-config" ни о чем не говорит??Название: Re: Плагин не загружается в Qt Designer из-за зависимостей от внешних dll Отправлено: boruh от Февраль 08, 2010, 17:59 Цитировать "Windows msvc release full-config", got "Windows msvc debug full-config" ни о чем не говорит??К сожалению не говорит. Проект собираю в MSVS2008, в конфигурации Release, в настройках проекта все выставлено как для релизной конфигурации. Но самое главное - данное сообщение никак не сказывается на загружаемости плагина. Если у него появляется зависимость от внешней dll - он не грузится, если эта зависимость устраняется - то грузится, и в обоих случаях показывает это самое сообщение про release/debug Название: Re: Плагин не загружается в Qt Designer из-за зависимостей от внешних dll Отправлено: boruh от Февраль 08, 2010, 18:01 Попробуй CSIODatabase.dll положить в C:\windows\system32 для начала. Да, попробую вечером (сейчас пока нет возможности), но я пробовал класть этот файл в папку прямо с самим плагином, а dll вроде должны искаться и в своей папке тоже. Но проверю, в любом случае. Название: Re: Плагин не загружается в Qt Designer из-за зависимостей от внешних dll Отправлено: crossly от Февраль 09, 2010, 12:52 Цитировать "Windows msvc release full-config", got "Windows msvc debug full-config" ни о чем не говорит??К сожалению не говорит. Проект собираю в MSVS2008, в конфигурации Release, в настройках проекта все выставлено как для релизной конфигурации. Но самое главное - данное сообщение никак не сказывается на загружаемости плагина. Если у него появляется зависимость от внешней dll - он не грузится, если эта зависимость устраняется - то грузится, и в обоих случаях показывает это самое сообщение про release/debug |