Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Компиляция __DATE__ при изменениях в других файлах
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
Target
Добрый день,

Мой исходник состоит из нескольких файлов. При компиляции изменений только в одном файле, где не используется __DATE__, дата компиляции остается старой.

Можно ли как-нибудь решить эту проблему без перекомпиляции всех файлов?
scifi
Если собирать программу при помощи make, то это решается элементарно. Системы сборки программ во всяких IDE всегда были лишены гибкости.
Непомнящий Евгений
для make и компании уже ответили. Для ИДЕ пишешь скрипт, который меняет дату изменения файла с __DATE__ и вешаешь его в пребилд-действия
scifi
Цитата(Непомнящий Евгений @ Mar 6 2013, 10:01) *
Для ИДЕ пишешь скрипт, который меняет дату изменения файла с __DATE__ и вешаешь его в пребилд-действия

Кстати, я это первым делом попробовал (touch.exe). Не помогает.
Непомнящий Евгений
я когда компилировал из ИДЕ (правда это было давно и на ИАР5,12 вроде) так делал - работало. Однако про touch я не знал и у меня было вот такое
CODE
<?
function _exit($text)
{
echo($text);
sleep(5);
exit();
}

$path = "z:\\_projects\\t103mk1_jhn\\sources\\";

if (!($fl = fopen($path . "compDT.cpp", "r")))
_exit("AAAAAAAAAAA");

$cont = "";

while ($str=fgets($fl,1024))
$cont.=$str;

fclose($fl);

if (!($fl = fopen($path . "compDT.cpp", "w")))
_exit('AAA");

fwrite($fl, $cont);

fclose($fl);
?>

sm.gif


А ваш touch точно дату меняет? И выполняется именно до билда?

ЗЫ сейчас у меня билд через scons, в нем подобные задачи решаются тривиально
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.