Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: Kol от Июль 10, 2007, 17:30



Название: подключение плагинов
Отправлено: Kol от Июль 10, 2007, 17:30
При запуске приложения на компах, где нет qt картинки jpeg не открываются, хотя библиотека libjpeg в папке с прогой. Иными словами, с чужих компов не подключается плагин qjpeg. Q_IMPORT_PLUGIN при сборке выдает, что ссылка на плагин не определена. Как с этим бороться? Заранее спасибо.


Название: Re: подключение плагинов
Отправлено: Fonarix от Июль 10, 2007, 17:41
Цитата: "Kol"
При запуске приложения на компах, где нет qt картинки jpeg не открываются, хотя библиотека libjpeg в папке с прогой. Иными словами, с чужих компов не подключается плагин qjpeg. Q_IMPORT_PLUGIN при сборке выдает, что ссылка на плагин не определена. Как с этим бороться? Заранее спасибо.


Возникала проблема, но под Мак ОС, так и не поборол, отложил.
Вот ссылка:
http://prog.org.ru/forum/topic_5515.html


Название: подключение плагинов
Отправлено: Kol от Июль 10, 2007, 17:52
Точнее, когда делаю все по инструкции mingw говорит:
release\main.o:main.cpp:(.text+0x1b9): undefined reference to `qt_plugin_instanc
e_qjpeg()'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [release\kagor.exe] Error 1

добавлено спустя 55 секунд:

 Спасибо, посмотрю. У меня winxp.

добавлено спустя 8 минут:

 Примечательно, что у меня на компа, а также на компах, где стоит qt все работает.


Название: подключение плагинов
Отправлено: Fonarix от Июль 10, 2007, 18:08
Цитата: "Kol"
Точнее, когда делаю все по инструкции mingw говорит:
release\main.o:main.cpp:(.text+0x1b9): undefined reference to `qt_plugin_instanc
e_qjpeg()'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [release\kagor.exe] Error 1

добавлено спустя 55 секунд:

 Спасибо, посмотрю. У меня winxp.

добавлено спустя 8 минут:

 Примечательно, что у меня на компа, а также на компах, где стоит qt все работает.


Попробывал тоже этот макро Q_IMPORT_PLUGIN , не знал о его существовании, вылетает таже ошибка под маком.
На винде добавляли папку imageformats с плагинами в директорию с выполняемым файлом.


Название: подключение плагинов
Отправлено: Вячеслав от Июль 10, 2007, 18:11
Цитировать

But where is the plugins directory? When the application is run, Qt will first treat the application's executable directory as the pluginsbase. For example if the application is in C:\Program Files\MyApp and has a style plugin, Qt will look in C:\Program Files\MyApp\styles. (See QCoreApplication::applicationDirPath() for how to find out where the application's executable is.) Qt will also look in the directory specified by QLibraryInfo::location(QLibraryInfo::PluginsPath), which typically is located in QTDIR/plugins (where QTDIR is the directory where Qt is installed). If you want Qt to look in additional places you can add as many paths as you need with calls to QCoreApplication::addLibraryPath(). And if you want to set your own path or paths you can use QCoreApplication::setLibraryPaths(). You can also use a qt.conf file to override the hard-coded paths that are compiled into the Qt library. For more information, see the Using qt.conf documentation. Yet another possibility is to set the QT_PLUGIN_PATH environment variable before running the application. If set, Qt will look for plugins in the paths (separated by the system path separator) specified in the variable.

Ы ?


Название: подключение плагинов
Отправлено: Fonarix от Июль 10, 2007, 18:30
Я так полагаю это статическая привязка плагина Q_IMPORT_PLUGIN, необходимо добавить сырцы плангина?


Название: подключение плагинов
Отправлено: Kol от Июль 10, 2007, 20:22
imageformats и plugins уже куда только не помещал. Все равно не работает. :(


Название: подключение плагинов
Отправлено: Fonarix от Июль 12, 2007, 16:39
Цитата: "Kol"
imageformats и plugins уже куда только не помещал. Все равно не работает. :(


Как я понял, Q_IMPORT_PLUGIN - для статической связки.
Поэтому для динамической связки его использовать не нужно.
Для динамической загрузки, попробуй использовать ранее приведенную ссылку!


Название: подключение плагинов
Отправлено: crossly от Июль 13, 2007, 19:43
как то был  у меня вопрос с sql-плагином.....:)
тебе просто нужно создать директорию в папке с бинарником такую же как в директории qt-плагинов (например imageformats) и положить туда плагин............