crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Замучался делать Rebuild...
fantom
  опции профиля:
сообщение 21.4.2009, 15:11
Сообщение #1


Студент
*

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

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




Репутация:   1  


Не знаю может вопрос не совсем по теме.. Просто не знаю чей баг qmake или компилятора. Короче суть в том, что есть довольно большой проект - естественно собирается он не за 5 секунд. Так вот при внесении изменений в любой ,h приходится полностью пересобирать проект чтобы изменения вошли в силу. Как этого можно избежать? А то задолбался пересобирать все уже..

А можно еще один больной вопрос? Как можно поставить точку останова в коде библиотеки, если функции в ней вызываются только по какому то событию или сигналу?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Danila_Bagrofff
  опции профиля:
сообщение 21.4.2009, 15:16
Сообщение #2


Студент
*

Группа: Новичок
Сообщений: 14
Регистрация: 16.4.2009
Из: Нижний Новгород
Пользователь №: 690

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




Репутация:   0  


А ты где это делаешь? в винде?

Компилятор точно не при чем. Он компилирует код в отдельные обж-файлы. В принципе можно отдельно компилировать обжи. а потом из них линковать саму прогу.
В коде библиотеки Qt? Или твоей?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
fantom
  опции профиля:
сообщение 21.4.2009, 15:24
Сообщение #3


Студент
*

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

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




Репутация:   1  


Проект делается под Linux. Компилятор gcc 4.2.1. Дело в том что у меня часть кода находится в H файлах т.к. используются шаблонные классы, а с ними проблема с размещением кода в cpp файлах.

Точку останова надо поставить в своей библиотеке собранной с флагом Debug.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 21.4.2009, 15:40
Сообщение #4


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

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

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




Репутация:   94  


Цитата(fantom @ 21.4.2009, 19:11) *
Как этого можно избежать?
только избежав включения этого заголовочника во множество файлов.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 21.4.2009, 15:44
Сообщение #5


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

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

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




Репутация:   34  


Если проект большой, то в нем наверняка есть какие-то разделения типа gui и бизнес-логика, классы. Разбей программу на модули.
Создай основной .pro файл, пропиши в нем модули через include(), для модулей .pro файлы переименуй в .pri.
В основном .pro файле линкуй все .a/.lib файлы.

Также обрати внимание на это: http://wiki.qtcentre.org/index.php?title=R...mpilation_times
и на это http://c2.com/cgi-bin/wiki?RedundantIncludeGuards

Как этого можно избежать?


Собрать все .h файлы, которые редко меняются в один precompiled header, а именно этот оставить как есть.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 13.8.2022, 6:55