Перейти к содержанию
    

Сборка проекта

Есть несколько вопросов по сборке проекта:

1) Такая проблема - изменяю код в одном файле - делаю Translate, запускаю Build однако он начинает пересобирать весь проект, поскольку в проекте файлов много. а ноут не шибко мощный, то это все затягивается минут на 5, что очень раздражает. Самое интересное другое беру другой проект (какой то пример из просторов сети) - делаю там тоже самое, там все нормально пересобирается только измененная часть и все соответственно происходит на порядок быстрее. Какие настройки надо смотреть? Сравнивал настройки проекта - все одинаково, а результат разный.

 

2) Для исходников пользуюсь внешним редактором, билд запуская через командную строку, при этом текущий проект открыт в IDE, при этом запускается Keil происходит сборка, потом закрывается, но в открытом проекте ничего не меняется, никаких изменений не происходит, кроме перезагрузки измененных исходников. Приходится заново билдить проект в открытой IDE, ну а потом уже грузить кристалл, поскольку происходит все очень медленно (как указанно выше), то это приводит к потере кучи времени. Можно это как-то побороть? Я все жизнь в IAR работаю там таких проблем нет :) Если что версия - 5.24.1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Если редактируете какой-либо h-файл, который вложен (даже опосредовано) во все модули - то так оно и будет :)

2. Включать модуль в компиляцию или нет - определяется его временем последней модификации. Если что-либо

лезет в файл и меняет это время - он попадет на "пересборку".

3. Также, если каким-то образом пропали объектники модулей, которые не изменялись. Их придется пересоздавать.

4. Если пользуетесь внешним редактором - отключите автосохранение. Оно может и подгаживает.

и т. д. . . . .

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А проверьте дату создания ваших файлов и текущую дату на компьютере. Есть подозрение, что с точки зрения компьютера исходники последний раз менялись далеко в будущем после компиляции, поэтому, естественно, надо проект пересобрать полностью. Поскольку с чужими проектами такого не возникает - вероятнее всего неправильная дата создания у файлов, системное время в норме.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Если редактируете какой-либо h-файл, который вложен (даже опосредовано) во все модули - то так оно и будет :)

2. Включать модуль в компиляцию или нет - определяется его временем последней модификации. Если что-либо

лезет в файл и меняет это время - он попадет на "пересборку".

3. Также, если каким-то образом пропали объектники модулей, которые не изменялись. Их придется пересоздавать.

4. Если пользуетесь внешним редактором - отключите автосохранение. Оно может и подгаживает.

и т. д. . . . .

 

Насчет h файлов я в курсе, естественно :) Нет тут именно изменения происходят в .с файле, но пересобирается весь проект. Насчет объектников посмотрю, забыл про них. Автосохранение отключу, посмотрю что будет.

 

А проверьте дату создания ваших файлов и текущую дату на компьютере. Есть подозрение, что с точки зрения компьютера исходники последний раз менялись далеко в будущем после компиляции, поэтому, естественно, надо проект пересобрать полностью. Поскольку с чужими проектами такого не возникает - вероятнее всего неправильная дата создания у файлов, системное время в норме.

Хм, спасибо за совет посмотрю, как то с этим проблем никогда не было, поэтому и не обращал внимание на дату.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Насчет h файлов я в курсе, естественно :) Нет тут именно изменения происходят в .с файле, но пересобирается весь проект. Насчет объектников посмотрю, забыл про них. Автосохранение отключу, посмотрю что будет.

У меня в некоторых проектах в прошивку заносился номер текущей ревизии на SVN (и другие данные), которые генерились в .h-файл скриптом, запускаемым из события Prebuild компилёра. Соответственно - при каждой компиляции перекомпилировались все файлы, куда этот хидер был включён.

Также хидеры могут быть включены в другие хидеры.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня в некоторых проектах в прошивку заносился номер текущей ревизии на SVN (и другие данные), которые генерились в .h-файл скриптом, запускаемым из события Prebuild компилёра. Соответственно - при каждой компиляции перекомпилировались все файлы, куда этот хидер был включён.

Также хидеры могут быть включены в другие хидеры.

SVN у меня абсолютно корректно работает (IAR + SVN + Tortoise).

 

 

ps

2 TC

---------

Может на PC "в фоне" запущен какой-то каталогизатор-индексатор файловой системы кривой ?

Если разберетесь с этим, выложите пож-ста инф. что было причиной.

---

"извечный пессимист" :) "хорошо информированный оптимист".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

SVN у меня абсолютно корректно работает (IAR + SVN + Tortoise).

 

 

ps

2 TC

---------

Может на PC "в фоне" запущен какой-то каталогизатор-индексатор файловой системы кривой ?

Если разберетесь с этим, выложите пож-ста инф. что было причиной.

---

"извечный пессимист" :) "хорошо информированный оптимист".

Да нет такого не держу, конечно может быть антивирус мешает, теоретически?, Но с другой стороны, другой проект собирается без полной пересборки проекта - условия одинаковы, а результат разный :)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проверьте галочку Always build в свойствах файла. Правый клик по файлу в дереве проекта Project Window -> Options for file

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проверьте галочку Always build в свойствах файла. Правый клик по файлу в дереве проекта Project Window -> Options for file

Ок, посмотрю.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...