Название: Сборка плагинов Отправлено: dr_Begemot от Август 20, 2009, 09:35 Делаю плагин для designer.
У меня есть виджет, оформленный в виде dll. Он представляет собой немного модифицированную кнопку для выбора цвета. Сначала я сделал pro-файл для плагина так: designer.pro: Код: TEMPLATE = lib Код: COLORBUTTON_LIB = -lColorButton Код: HEADERS += src/ColorButton_global.h\ Все скомпилилось, плагин обнаружился дизайнером без ошибок, все ок. Потом я решил, что это как-то не очень элегантно и решил добавлять не исходные файлы ColorButton к плагину, а саму dll. designer.pro: Код: TEMPLATE = lib Такое проект тоже скомпилился нормально, но дизайнер библиотеку не подключает... Пишет что: The plugin DesignerPlugin.dll yses incompatible Qt library. Expected build key "Windows msvc release full-config", got "Windows msvc debug full-config" Кинул в папку плагинов саму библиотеку ColorButton - все то же. Вот код проекта самой библиотеки ColorButton: ColorButton.pro: Код: TEMPLATE = lib Название: Re: Сборка плагинов Отправлено: Mikhail от Август 20, 2009, 09:58 У тебя несовместимость по ключу build key.
Expected build key "Windows msvc release full-config", got "Windows msvc debug full-config". Скорее всего ты пытаешься подсунуть debug версию dll вместо pelease. Вот что значит это сообщение. Перекомпилируй DLL. Название: Re: Сборка плагинов Отправлено: dr_Begemot от Август 20, 2009, 10:30 У тебя несовместимость по ключу build key. Expected build key "Windows msvc release full-config", got "Windows msvc debug full-config". Скорее всего ты пытаешься подсунуть debug версию dll вместо pelease. Вот что значит это сообщение. Перекомпилируй DLL. В pro-файле dll переписал CONFIG += dll release Перекомпилил dll... Перекомпилил плагин на всякий случай... Все равно все то же сообщение... Название: Re: Сборка плагинов Отправлено: ритт от Август 20, 2009, 10:43 реестр почистил?
Название: Re: Сборка плагинов Отправлено: dr_Begemot от Август 20, 2009, 10:43 У тебя несовместимость по ключу build key. Expected build key "Windows msvc release full-config", got "Windows msvc debug full-config". Скорее всего ты пытаешься подсунуть debug версию dll вместо pelease. Вот что значит это сообщение. Перекомпилируй DLL. Перекомпилил все... забыл очистить мейкфайлы... Теперь другая ошибка... пишет: Cannot load library "DesignerPlugin.dll": Не найден указанный модуль. Хотя ColorButton1.dll в папке плагинов присутствует... и DesignerPlugin.dll тоже. Название: Re: Сборка плагинов Отправлено: dr_Begemot от Август 20, 2009, 10:44 Название: Re: Сборка плагинов Отправлено: ритт от Август 20, 2009, 10:45 когда ты уже начнёшь документацию читать?..
Название: Re: Сборка плагинов Отправлено: dr_Begemot от Август 20, 2009, 10:47 О! Получилось...
Оказалось, что либу ColorButton1.dll надо было класть не в ту же папку где плагины, а в папку C:\Qt\2009.03\qt\bin\ Тогда все работает... очень странно - какое-то не очень правильное решение. Название: Re: Сборка плагинов Отправлено: dr_Begemot от Август 20, 2009, 10:48 когда ты уже начнёшь документацию читать?.. Что ты имеешь ввиду под реестром? Реестр винды? Название: Re: Сборка плагинов Отправлено: ритт от Август 20, 2009, 11:22 да, реестр венды. плагинлоадеры хранят информацию об известных модулях - чтобы не загружать кажды раз "битые" модули и т.д.
Название: Re: Сборка плагинов Отправлено: Mikhail от Август 20, 2009, 12:34 О! Получилось... Оказалось, что либу ColorButton1.dll надо было класть не в ту же папку где плагины, а в папку C:\Qt\2009.03\qt\bin\ Тогда все работает... очень странно - какое-то не очень правильное решение. Можно положить в любую папку которая прописана в путях Название: Re: Сборка плагинов Отправлено: dr_Begemot от Август 20, 2009, 13:49 О! Получилось... Оказалось, что либу ColorButton1.dll надо было класть не в ту же папку где плагины, а в папку C:\Qt\2009.03\qt\bin\ Тогда все работает... очень странно - какое-то не очень правильное решение. Можно положить в любую папку которая прописана в путях В каких путях? в Path? Можно поподробней? Название: Re: Сборка плагинов Отправлено: Mikhail от Август 20, 2009, 14:38 О! Получилось... Оказалось, что либу ColorButton1.dll надо было класть не в ту же папку где плагины, а в папку C:\Qt\2009.03\qt\bin\ Тогда все работает... очень странно - какое-то не очень правильное решение. Можно положить в любую папку которая прописана в путях В каких путях? в Path? Можно поподробней? Естественно в PATH. О чем подробнее? О том, что реализация твоего плагина в DLL и для его функционирования DLL надо загрузить. А найти эту DLL можно только в путях - PATH |