Russian Qt Forum
Апрель 29, 2024, 06:48 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Плагины в qt-4.1.1  (Прочитано 3737 раз)
chief
Гость
« : Май 06, 2006, 11:22 »

добрый день дамы и господа. Возникла такая проблема. есть проэкт, который состоит из основного приложения, плагинов и прослоичной либины в которую вынесены общие компоненты. сия конструкция прикрасно себя чувствует под линухом, но не работает под виндами - не отрабатывает QPluginLoader::instance. Может кто наступал на эти грабли?
вот соответствующие pro-файлы

это от библиотеки:
Код:

TEMPLATE = lib
CONFIG += plugin
HEADERS = defines.h \
                  testplugin.h
SOURCES = testplugin.cpp
TARGET = pnp_basictools
DESTDIR = ../TestPluginLoader/plugins
LIBS += -L../lib -llibina


это приложение:
Код:

TEMPLATE = app
TARGET = TestPluginLoader
DESTDIR = ./Debug

MOC_DIR += ./GeneratedFiles/debug

OBJECTS_DIR = debug

LIBS += -L../lib -llibina

#Include file(s)
include(TestPluginLoader.pri)



и наконец плугин:
Код:

TEMPLATE = lib
CONFIG  += plugin
HEADERS = defines.h \
                  testplugin.h
SOURCES = testplugin.cpp
TARGET  = pnp_basictools
DESTDIR = ../TestPluginLoader/plugins
LIBS += -L../lib -llibina



всем спасибо
Записан
bigirbis
Гость
« Ответ #1 : Май 12, 2006, 10:53 »

Народ, такая же хрень!!!
Помогите, please!!!
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #2 : Май 12, 2006, 11:01 »

вы отладчиком загрузку DLL пробовали проходить
уверен много интересного узнаете!
Записан
Sergeich
Гость
« Ответ #3 : Май 12, 2006, 16:59 »

Скорей всего в "прослоичной либине" не поставлены макросы к-ые под вынь преобразуются в __declspec(dllexport).
Код:
#ifdef Q_WS_WIN
  #ifdef JA_V_AHUE
    #define FTOPKU __declspec(dllexport)
  #endif
#else
    #define FTOPKU
#endif
...

class FTOPKU MyClass
{
...
};
Записан
chief
Гость
« Ответ #4 : Май 15, 2006, 10:47 »

там есть вот что
Код:

#if defined(Q_OS_WIN)
#ifdef BUILD_DLL
#define EXPORT Q_DECL_EXPORT
#else
#define EXPORT Q_DECL_IMPORT
#endif
#else
#define EXPORT
#endif

имхо так оно складней Подмигивающий
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 22.