crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> Qt плагины в Linux/Windows, различие в подходах
Litkevich Yuriy
  опции профиля:
сообщение 30.11.2012, 20:12
Сообщение #1


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Алексей1153 @ 30.11.2012, 22:05) *
или libqjpeg4.a
это не нужно, архивные файлы (или как их там называют) нужны только на этапе компиляции.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 30.11.2012, 20:16
Сообщение #2


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


в линуксе тоже dll ? Мне помнится, там именно эта шняга с расширением a. Так и считаю до сих пор ) Очень редко сталкивался с линуксом
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 30.11.2012, 20:20
Сообщение #3


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Алексей1153 @ 30.11.2012, 22:16) *
в линуксе тоже dll ? Мне помнится, там именно эта шняга с расширением a. Так и считаю до сих пор )
там so-файлы, т.е. libqjpeg4.so
однако там их подкладывать к приложению, по моему, бесполезно. (В этом месте я про Линух плохо знаю)
Линух в отличии от Винды, не ищет файлы в каталоге с приложением, у него для этих целей специальная переменная окружения есть.

А вот на счёт плагинов Qt я не вкурсе, может ядро Qt (QtCore) и ищет.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
__ilya__
  опции профиля:
сообщение 1.12.2012, 9:06
Сообщение #4


Студент
*

Группа: Участник
Сообщений: 57
Регистрация: 19.1.2012
Пользователь №: 3143

Спасибо сказали: 0 раз(а)




Репутация:   0  


Алексей1153,
В LINUX, сколько программ писал, на Qt, работало без dll.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 3.12.2012, 8:25
Сообщение #5


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


Цитата(Litkevich Yuriy @ 30.11.2012, 23:20) *
однако там их подкладывать к приложению, по моему, бесполезно.

не распространяй мракобесие.
в линюксе есть пути поиска библиотек. при линковке можно указать флаг поиска (-Wl,-R[path]) и софтина будет искать сначала там, а потом уже по стандартным системным путям. на самом деле, даже у готовой софтины можно эти пути прописать в бинарнике, но это уже из разряда хакерства. такой финт ушами используется при сборке ядра с нуля, на голой машине.
а что касается so-файлов, то конкретно для них можно ещё использовать переопределение LD_PRELOAD.

Сообщение отредактировал Iron Bug - 3.12.2012, 8:33
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 3.12.2012, 17:31
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Iron Bug @ 3.12.2012, 10:25) *
не распространяй мракобесие.
я тут имел ввиду плагины Qt. дело в том что в библиотеку QtCore (на виндовозе точно!) жёстко зашиты пути поиска плагинов, а именно в каталог сборки/установки самой библиотеки, а там под каталог plugins/имя_плагина, если там нет, то ищется в подкаталоге имя_плагина самого приложения.

Как это в линуже реализуется с Qt плагинами, я не в курсе.

П.С.
при установке Qt на виндовоз из дистрибутива, библиотека QtCore.dll автоматически патчится под текущие пути
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 4.12.2012, 7:14
Сообщение #7


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


я так понимаю, что есть два типа плагинов: плагины для самого Qt и плагины вообще. так вот плагин вообще - это, на самом деле, просто библиотека. и поиск её система будет осуществлять там, где у неё прописано, если я правильно понимаю принцип построения плагинов.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 4.12.2012, 11:28
Сообщение #8


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Iron Bug @ 4.12.2012, 9:14) *
что есть два типа плагинов: плагины для самого Qt и плагины вообще.
тут пожалуй следует такую оговорку сделать.
Есть механизм плагинов Qt, это библиотеки, но в которые вкомпиливается некий дополнительный код, позволяющий динамически линковать плагин, если он найден (т.е. без специальных манипуляций со стороны прикладного программиста).
Но ещё есть и плагины для самой Qt - тоже что и выше, но с дополнительными правилами (упомянутые в предыдущих постах пути).

Вот в справке про это написано
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuzulis
  опции профиля:
сообщение 4.12.2012, 12:58
Сообщение #9


Активный участник
***

Группа: Участник
Сообщений: 393
Регистрация: 29.6.2009
Пользователь №: 862

Спасибо сказали: 36 раз(а)




Репутация:   7  


Цитата
дело в том что в библиотеку QtCore (на виндовозе точно!) жёстко зашиты пути поиска плагинов


Да, есть такое дело. Прописаны пути в qmake, qdoc и т.п. Когда мы устанавливаем готовые QtSDK или библиотеки
при помощи инсталлятора (Qt Installer Framework), то он патчит эти самые бинарики и т.п.

Я сделал небольшую простенькую консольную утилиту чтобы тоже пропатчивать бинарики.

Она вроде работает... :rolleyes:

Может кому пригодится...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 4.12.2012, 13:04
Сообщение #10


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


Цитата(kuzulis @ 4.12.2012, 15:58) *
Когда мы устанавливаем готовые QtSDK или библиотеки
при помощи инсталлятора (Qt Installer Framework), то он патчит эти самые бинарики и т.п.

как всё запущено, однако! :) а ведь простая библиотека решает все потребности плагинов... :huh:
не, не буду я пользовать Qt. что-то они всё дальше в дебри лезут. если уже до патчей бинарников дошло, что-то там изначально не так. идеология кривая.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


6 чел. читают эту тему (гостей: 6, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 30.11.2024, 3:48