Russian Qt Forum
Ноябрь 23, 2024, 23:37
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Установка, сборка, отладка, тестирование
>
сборка проекта разработанного в Linux
Страниц: [
1
]
2
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: сборка проекта разработанного в Linux (Прочитано 8381 раз)
break
Гипер активный житель
Offline
Сообщений: 846
сборка проекта разработанного в Linux
«
:
Январь 16, 2009, 03:59 »
В Linux была написана программа использующая собственный виджет. Он интегрировался в дизайнер и копировался в /usr/lib для работы самой программы.
Как быстро собрать такого плана проект под винду.
Попробовал сам:
1) скачал QT
2) собрал
3) сгенерил для своего проекта sln
при компиляции в 2008 студии на этапе сборки(линковки) уже приложения (виджет собирается первым) - не хочет находит функции связанные с виджетом
Пробовал подсовывать lib файл подпроекту программы всяческим образом(через студию) - ничего не получилось
В любом случае даже если это и можно поправить - меня не устраивает т.к. нужна гот. система для пересборки Linux проектов имея pro файл - без шаманства..
Программирую в линукс - мне надо только готовый инструментарий для компиляции в винде.
QtCreator - для этого предназначен - может помочь? (спрашиваю т.к. качать 200 мб)
Записан
Rcus
Гость
Re: сборка проекта разработанного в Linux
«
Ответ #1 :
Январь 16, 2009, 04:11 »
А этот ваш виджет оформлен в виде динамический библиотеки? Если так, то
http://www.prog.org.ru/topic_8259_0.html
Не понимаю шаманства с созданием .sln, если нужно только собрать проект и есть уже .pro файл, то почему бы просто не использовать qmake && nmake?
Записан
break
Гипер активный житель
Offline
Сообщений: 846
Re: сборка проекта разработанного в Linux
«
Ответ #2 :
Январь 16, 2009, 05:14 »
потому что не работает - пробовал и qmake, nmake - в первую очередь так сделал т.к. в линуксе так проект собираю
виджет оформлен не только в кач. дин. билиотеки - но и в кач. плагина к дизайнеру
Записан
Rcus
Гость
Re: сборка проекта разработанного в Linux
«
Ответ #3 :
Январь 16, 2009, 05:39 »
Тогда все же советую почитать статью по ссылке.
Записан
BaltikS
Гость
Re: сборка проекта разработанного в Linux
«
Ответ #4 :
Январь 16, 2009, 07:58 »
break какие хоть ошибки пишет? Для того чтобы скомпилеть плагин для дизайнера, не обязательно делать проект студии. Нужно хотя бы чтобы компилятор видел Qt....
Записан
break
Гипер активный житель
Offline
Сообщений: 846
Re: сборка проекта разработанного в Linux
«
Ответ #5 :
Январь 16, 2009, 11:35 »
Цитировать
скомпилеть плагин
ПЛАГИН ДЛЯ ДИЗАЙНЕРА СОБИРАЕТСЯ!!!
Программа его использующая не может собраться зависимости на этапе линковки - unresolved symbol
Записан
break
Гипер активный житель
Offline
Сообщений: 846
Re: сборка проекта разработанного в Linux
«
Ответ #6 :
Январь 16, 2009, 11:37 »
Цитировать
Тогда все же советую почитать статью по ссылке.
Советую тебе тогда тоже почитать! К моей текущей проблеме статья отношенияне не имеет!
Виджет написан классическим для QT способом - т.е. класс и система плагинов QT т.что тут все ок. В Linux все работает и собирается на рас.
Записан
pastor
Administrator
Джедай : наставник для всех
Offline
Сообщений: 2901
Re: сборка проекта разработанного в Linux
«
Ответ #7 :
Январь 16, 2009, 11:45 »
Цитата: break от Январь 16, 2009, 11:37
Советую тебе тогда тоже почитать! К моей текущей проблеме статья отношенияне не имеет!
...
В Linux все работает и собирается на рас.
Имеет самое прямое отношение! Linux != Windows. В Винде в этом плане по-другому! Чем просто спорить, взял бы да и прочел статью и попробывал реализовать так как написано.
Записан
Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
break
Гипер активный житель
Offline
Сообщений: 846
Re: сборка проекта разработанного в Linux
«
Ответ #8 :
Январь 16, 2009, 11:47 »
Цитировать
Имеет самое прямое отношение! Linux != Windows. В Винде в этом плане по-другому! Чем просто спорить, взял бы да и прочел статью и попробывал реализовать так как написано.
На кой черт я использую систему плагинов QT - чтобы в каждой системе библиотеки переписывать? Почему вы вообще тк уверены что вопрос в этом - я уже повторяюсь но DLL у меня прекрасно собирается - не соб-ся только программа в кот. эта библиотека есть как зависимость
Записан
Rcus
Гость
Re: сборка проекта разработанного в Linux
«
Ответ #9 :
Январь 16, 2009, 11:49 »
Успокойтесь, проблема не смертельна и вполне разрешима. Если не хотите показывать сообщения компилятора/исходники (хотя исходники не надо, хотелось бы взглянуть на заголовки), то давайте действовать наугад. Попробуйте посмотреть экспортируемые символы библиотеки через Dependency Walker (из состава Platform SDK) или аналогичную программу. Попробуйте собрать компилятором MinGW.
«
Последнее редактирование: Январь 16, 2009, 11:50 от Rcus
»
Записан
pastor
Administrator
Джедай : наставник для всех
Offline
Сообщений: 2901
Re: сборка проекта разработанного в Linux
«
Ответ #10 :
Январь 16, 2009, 11:55 »
Цитата: break от Январь 16, 2009, 11:47
я уже повторяюсь но DLL у меня прекрасно собирается - не соб-ся только программа в кот
Проблема в линковке, ведь так? А не линкуестся, потому что ничего не экспортируется из вашей DLL.
Записан
Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
BaltikS
Гость
Re: сборка проекта разработанного в Linux
«
Ответ #11 :
Январь 16, 2009, 12:07 »
Необходимо проверить, подхватывает ли дизайнер этот плагин?
Если нет, то скопировать собранную DLL и LIB в папку QTDIR/plugins/designer и ещё раз собрать проект....
«
Последнее редактирование: Январь 16, 2009, 12:10 от BaltikS
»
Записан
break
Гипер активный житель
Offline
Сообщений: 846
Re: сборка проекта разработанного в Linux
«
Ответ #12 :
Январь 16, 2009, 13:59 »
Проблема была в библиотеке! Я был неправ.
А все правы!
Но читая статью увидел там что надо использовать Q_DECL_IMPORT/Q_DECL_EXPORT только при использовании MSVC то есть компилятора от майкрософт.
Скачал qt creator - собственно был интересен тем что там mingw и qt собранный под винду есть.
В виджете 2 класса сам виджет и интерфейсная обвязка-класс для дизайнера в обоих поставил Q_DECL_EXPORT - тогда проект стал собираться. Получается что ничего из библиотеки не экспортится не из-за использования компилятора майкрософт - а из-за платформы windows.
Собирал через командную строку minGW - то есть
qmake
make
Но теперь почему то этот собранный виджет не работает и в дизайнере - не появляется (должен появиться на отдельной вкладке как в линукс) - подкидывал именно в QT (plugins/designer) кот. идет с QtCreator - что еще нужно сделать?
Собственно и в программе виджет ведет себя так же - как в дизайнере, она запускается но никакой прорисовки - пустота там где он должен быть..
Записан
break
Гипер активный житель
Offline
Сообщений: 846
Re: сборка проекта разработанного в Linux
«
Ответ #13 :
Январь 16, 2009, 14:09 »
О нет - я ошибся опять !!! В программе виджет работает (он отображает картинку - а у меня при компировании проекта из виндовс просто имена побились). А вот в дизайнере пока его не могу заставить работать - что еще упустил?
За остальное всем спасибо!
Записан
Rcus
Гость
Re: сборка проекта разработанного в Linux
«
Ответ #14 :
Январь 16, 2009, 15:30 »
qthelp://com.trolltech.designer.450/qdoc/designer-creating-custom-widgets.html
Цитировать
Plugin Requirements
In order for plugins to work correctly on all platforms, you need to ensure that they export the symbols needed by Qt Designer.
First of all, the plugin class must be exported in order for the plugin to be loaded by Qt Designer. Use the Q_EXPORT_PLUGIN2() macro to do this. Also, the QDESIGNER_WIDGET_EXPORT macro must be used to define each custom widget class within a plugin, that Qt Designer will instantiate.
//guess
Записан
Страниц: [
1
]
2
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...