Название: как собрать в виде библиотеки Отправлено: usefull от Июль 24, 2009, 16:25 Здраствуйте.
Я хотел бы узнать у опытных специалистов. Можно ли собрать QT приложение в виде динамически подключаемой библиотеки и вызывать методы QT приложения. если можно то опишите пожалуйста всю процедуру Название: Re: как собрать в виде библиотеки Отправлено: BRE от Июль 24, 2009, 16:43 Ну так она по умолчанию собрана как динамическая библиотека (точнее несколько динамических библиотек). ;)
Название: Re: как собрать в виде библиотеки Отправлено: Rcus от Июль 24, 2009, 16:46 А мнение неопытных неспециалистов вас случайно не интересует? Я думаю речь идет про использование сходное с описанным в http://doc.trolltech.com/solutions/4/qtwinmigrate/winmigrate-walkthrough.html#plugin-extension
Название: Re: как собрать в виде библиотеки Отправлено: usefull от Июль 24, 2009, 17:33 Может не понятно написал...
Вот у меня есть довольно большая программа стороннего разработчика (дальше Программа 1)... я хочу сделать к ней GUI-шку (дальше GUI-шка ;D), которая бы запускалась в новом thread-е и отображала какую либо информацию о происходящем в первичном продукте. Я могу добавить какието функции в исходный код Программы 1, но не могу повлиять на его сборку. Т.о. я не смогу воспользоваться qmake-ом. Ну вот поэтому я решил сделать GUI-шку в виде libGUI.so и подключать уже библиотеку к Программе 1... По подключению уже есть методы и сделать это не сложно. Но вот как собрать GUI-шку в таком виде... Вопрос может быть совсем простой, но просто не имею опыта работы с make и qmake. И с libtool тоже кстати. подскажите в какую сторону копать... Разобраться сам попробую. Если же ткнете пальцем, то буду очень благодарен... Название: Re: как собрать в виде библиотеки Отправлено: lit-uriy от Июль 24, 2009, 17:40 usefull, в принципе мордочку в dll'ку засунуть можно. Однако, помни/знай мордочка написанная на Qt может работать только в главном потоке!
Название: Re: как собрать в виде библиотеки Отправлено: usefull от Июль 24, 2009, 20:01 Нда, плохая новость... Так как все таки запихнуть в dll-ку? может получится чтонибудь сделать
Название: Re: как собрать в виде библиотеки Отправлено: break от Июль 24, 2009, 23:13 Все сильно зависит от "Программы1" - там нет qmake - но Qt там есть? Или имеется возможность использовать Qt классы - тогда можно было бы использовать QPluginLoader - указывая ему напрямую вашу dll. Вообще упрощенный plugin loader можно и в голом C++ сваять - ничего сложного все обращения в классе который сидит в DLL через void* и ряд экспортных функций кот. с этим указателем работают
Код: void* makeInstance(); Внутри реализации каждой такой функции приведение указателя к реальному классу и работа с ним... Когда то я так делал - все норм. работало, позже стал использовать QPluginLoader Название: Re: как собрать в виде библиотеки Отправлено: usefull от Июль 27, 2009, 13:25 Народ. Я проверил... У меня QT приложение нормально работает в новом thread-е. Так что каких-то новых методов не нужно (я благодарен за предложенные методы, просто я предложил такой метод изза сильных ограничений которые наложенны на обе программы). Пожалуйста распишите хотя бы в двух словах как собрать в виде библиотеки типа libGUI.so
Буду очень благодарен... Название: Re: как собрать в виде библиотеки Отправлено: usefull от Июль 28, 2009, 16:07 ВСем спасибо за участие... Я смог собрать как надо.
|