crossplatform.ru

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

> Qt+CodeBlocks
Fedcomp
  опции профиля:
сообщение 23.10.2010, 20:51
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 5
Регистрация: 23.10.2010
Пользователь №: 2146

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




Репутация:   0  


Всем привет.
Хочу чтобы CodeBlocks на автомате (по клавише F9 т.е компиляция) проходился по полному циклу qmake и потом компиляция через mingw.
Но возникло много трудностей. Во первых я новичок, процессы компиляции понимаю крайне плохо (лишь знаю что в .o файлах компилируется код, затем линкером объединяется в экзешник, ну ещё что то слышал про makefile, но не знаю как они работают, и знаю что Qt использует moc для того чтобы добавить к C++ упрощенный вид функций (т.е препроцессор moc делает б0льшую работу за программиста, собственно превращая псевдо slots и signals в настоящий код понятный компилятору))
Во вторых не понятен способ ручной компиляции Qt проектов. В Qt designer сборка проходит абсолютно прозрачно, как и что он в это время делает не понятно.
Пробовал порыться в гугле, нашел qmake -project (рекурсивно проходится по текущему каталогу и составляет qt проект) и qmake "имя_проекта.pro" который проходится moc'ом как я понял.
Так вот такая задача, хочу чтобы CodeBlocks автоматически запускал qmake перед компиляцией, это возможно?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 23.10.2010, 22:05
Сообщение #2


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

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

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




Репутация:   94  


Цитата(Fedcomp @ 23.10.2010, 23:51) *
В Qt designer сборка проходит абсолютно прозрачно, как и что он в это время делает не понятно.
В дизайнере сборка вообще не происходит. Это всего лишь инструмент для визуального создания виджетов/окон

Цитата(Fedcomp @ 23.10.2010, 23:51) *
Во вторых не понятен способ ручной компиляции Qt проектов.

1) qmake myproject.pro
2) make
...
N) make

1 - программа qmake создаёт make-файлы на основе pro-файла
2 - программа make читает make-файлы и исполняет инструкции записанные в них, в отличие от bat/shell-файлов логика обработки make-файлов специфичная, т.к. позволяет отслеживать зависимости команд (например, нужно ли перекомпилировать такой-то файл или он не изменялся со времени последней компиляции)
N - тоже что и №2, так как в make-файле есть цель в виде pro-файла. Т.е. если pro-файл изменился, программа make это заметит и вызовит qmake автоматически.

П.С.
1) иногда всё таки приходится повторно вызывать qmake явно (руками), это когда, например, класс наследник QObject сначала не содержал макрос Q_OBJECT, а потом этот макрос появился.
2) moc вручную не вызывают, программа qmake записывает соответствующий вызов в make-файл
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


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


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




RSS Текстовая версия Сейчас: 27.4.2024, 12:40