Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как избавиться от компиляции всего проекта? 
V
    Опции темы
DevoL
Дата 9.12.2008, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 1.10.2008

Репутация: нет
Всего: нет



Доброе время суток!

Работаю с Builder6. И все бы ничего если б не мелкая проблема доставляющая большие моральные страдания. Проблема состоит в том, что при изменении одного единственного модуля, Builder6 перелопачивает ВСЕ модули проекта. Даже если я меняю один модуль и компилирую только его по альт-ф9 при запуске на исполнение компилируется ВЕСЬ проект. Так раз что-то изменил, запустил и можно смело гулять 6-7 минут пока все перелопачивается. Самое интересно, что на другой машине с тем же самым билдером после того как я копирую весь проект со всеми депеэрами и прочими файлами все работает как надо - после компиляции одного модуля проект идет на выполнение практически сразу (при условии  что слова типа быстро и сразу можно применять к С++ с большой натяжкой). Шо делать - ума не приложу. Уже и переставлял этот недовижуал, и настройки сравнивал на разных машинах, все нипочем. Может уважаемый All знает как побороть сие черепашье безобразие?

Спасибо!
PM MAIL   Вверх
Kallikanzarid
Дата 9.12.2008, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 240
Регистрация: 9.11.2008

Репутация: нет
Всего: 3



Девол? 0_о
PM MAIL   Вверх
Lazin
Дата 9.12.2008, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 18
Всего: 154



Цитата(DevoL @  9.12.2008,  21:50 Найти цитируемый пост)
Шо делать - ума не приложу
  • Писать код в срр файлах а не в h
  • Использовать прекомпиляцию
  • Разделить проект на несколько частей - приложение и несколько библиотек

PM MAIL Skype GTalk   Вверх
DevoL
Дата 9.12.2008, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 1.10.2008

Репутация: нет
Всего: нет



Спасибо за ответ. Я обязательно им воспользуюсь, когда будет больше времени.
А нельзя ли что-то сделать по-быстрому? Тем более что такая ситуация типична только лишь для одного компьютера, в то время как на другом все работает как надо.
Может в настройках билдера что-то подкрутить или еще чего где? Нет ну в самом деле - что может влиять на такое разное поведение при компиляции проекта на разных компьютерах если и там и там билдер установлен с одного и того же дистрибутива и проект копируется целиком и поверх?

Это сообщение отредактировал(а) DevoL - 9.12.2008, 23:50
PM MAIL   Вверх
dumb
Дата 10.12.2008, 03:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 32
Всего: 158



варианты:
прочистить папку $(BCB)\Lib от файлов с расширениями csm,#??
сделать touch * в папке проекта - это установит текущее время для всех файлов
поставить bcc32pch
...
PM MAIL   Вверх
_Dimon_
Дата 10.12.2008, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 243
Регистрация: 25.6.2007
Где: Украина

Репутация: 1
Всего: 1



Может вопрос ламерский, но что это за файлы такие vcl60.#00 -  vcl60.#07
PM MAIL   Вверх
DevoL
Дата 10.12.2008, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 1.10.2008

Репутация: нет
Всего: нет



Докладываю! smile Файлы с раширениями csm,#?? удалил, touch * в файлах проекта сделал, на bcc32pch полюбовался, но пока не ставил (для этих целей использую IDECompilerSpeedFix60 - не бог весть что, но ощущается прирост скорости). Вот. После всех действий ситуация коренным образом не поменялась - как шла полная компиляция после изменения одного, модуля так и идет.
Может у кого еще какие мысли будут?
PM MAIL   Вверх
Lazin
Дата 10.12.2008, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 18
Всего: 154



В С++ нет модулей, а есть заголовочные файлы и файлы с кодом. То что ты называешь модулем - это заголовочный файл и срр файл с одинаковыми именами. Так вот, поскольку заголовочный файл подключается много где, а он просто тупо вставляется компилятором как текст, если что-то поменять в нем, перикомпилировать придется сразу все файлы в которых он подключен. Так-что пиши код в срр файлах, а h используй для объявлений. Так-же разберись с прекомпиляцией, у меня, когда я пользовался билдером, был проект, собиравшийся полчаса при малейшем изменении в заголовочном файле. После настройки прекомпиляции заголовочных файлов, он стал собираться за несколько минут.
PM MAIL Skype GTalk   Вверх
DevoL
Дата 10.12.2008, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 1.10.2008

Репутация: нет
Всего: нет



Цитата
В С++ нет модулей, а есть заголовочные файлы и файлы с кодом. То что ты называешь модулем - это заголовочный файл и срр файл с одинаковыми именами. Так вот, поскольку заголовочный файл подключается много где, а он просто тупо вставляется компилятором как текст, если что-то поменять в нем, перикомпилировать придется сразу все файлы в которых он подключен. Так-что пиши код в срр файлах, а h используй для объявлений.

Отлично. Код в срр файлах, а h для объявлений. Собственно все как всегда, так как код в h файлах я скажем так пишу очень нечасто. Под модулем я имел в виду непосредственно cpp файл.

 
Цитата
Так-же разберись с прекомпиляцией, у меня, когда я пользовался билдером, был проект, собиравшийся полчаса при малейшем изменении в заголовочном файле. После настройки прекомпиляции заголовочных файлов, он стал собираться за несколько минут

Полная перекомпиляция запускается у меня при изменении cpp файла. h файл при этом изменениям не подвергается.

Это сообщение отредактировал(а) DevoL - 10.12.2008, 23:35
PM MAIL   Вверх
DevoL
Дата 11.12.2008, 00:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 1.10.2008

Репутация: нет
Всего: нет



Фуххх. Заработало! Респект dumb за подсказку! smile Видно я, когда первый раз ставил время, чего-то пропустил. В итоге получается следующая последовательность действий, которая привела меня к желаемому результату:

1. Закрываю проект, закрываю билдер.
2. Стираю все файлы *.csm, *.#* в $(BCB)\Lib.
3. Стираю все временные файлы и ставлю время для всех файлов.
Тут я просто дописал свой батник удаления файлов типа:
del ..\common\parents\*.obj
del ..\common\parents\*.~*
del ..\common\parents\*.ddp
touch ..\common\parents\ *
4. Запускаю билдер, открываю проект и делаю Build All.

После всего этого изменение модуля и его же перекомпиляция уже не приводит к последующей перекомпиляции всего проекта. Шастя таки есть smile
PM MAIL   Вверх
DevoL
Дата 17.1.2009, 22:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 1.10.2008

Репутация: нет
Всего: нет



А шастя длилось так недолго :(
После нескольких дней благополучной работы по вышеуказанному методу данный метод вдруг почему-то перестал оказывать свой целительный эффект и все вернулось на круги своя. Так шо относительно нормально можно стало работать опять только дома. А сегодня накрылся и домашний супербыстрый си - компиляция как и на работе стала вальяжно медленной и стабильно всеобъемлющей. Мда. Хорошо хоть проект скоро заканчивается, я вернусь на дельфу и смогу наконец забыть про ужас билдеровского самодурства smile
PM MAIL   Вверх
alrud
Дата 10.4.2009, 23:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 16.6.2007

Репутация: нет
Всего: нет



Цитата


del ..\common\parents\*.obj
del ..\common\parents\*.~*
del ..\common\parents\*.ddp
touch ..\common\parents\ *



.tds туда же - в топку!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0518 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.