Студия, проект постоянно просит перекомпилироваться

Serab

Есть проект в 9й студии. В нем часть файлов генерируется из других. Насколько я понимаю, по этой причине студия постоянно думает, что файлы были изменены после компиляции. Как это поправить? Туплю аццки.

Helga87

проект — С++/C#/VB?

kokoc88

Как это поправить? Туплю аццки.
В свойствах исходного файла поставить output.

tashka

Может неправильно понял, но попробуй в Build -> Configuration Manager убрать галочки с Build

Serab

проект — С++/C#/VB?
C++ native

Serab

Может неправильно понял, но попробуй в Build -> Configuration Manager убрать галочки с Build
Нет, не годится, он должен перекомпилироваться, когда изменяется первоначальный файл, из которого генерятся остальные.

Serab

В свойствах исходного файла поставить output.
Я делаю не через Custom Build Step, а через встроенную тулзу MIDL, там все output-имена заданы вручную.

kokoc88

Я делаю не через Custom Build Step, а через встроенную тулзу MIDL, там все output-имена заданы вручную.
У MIDL Tool есть свойство Outputs. Если ты её руками добавлял, то надо прописать свойство Outputs.

Serab

В свойствах исходного файла поставить output.
Или ладно, тут еще один независимый трабл, с другим проектом. Я вот скриншот запощщу, не ругайте сильно.

Так вот он при каждом билде копирует эти файлы, и, соответственно, всегда думает, что проект не отбилдён. :confused:

Serab

У MIDL Tool есть свойство Outputs. Если ты её руками добавлял, то надо прописать свойство Outputs.
О, только заметил твой ответ.
Я же написал, что в свойствах MIDL Tool вручную прописаны все Output-имена. Соответствующие файлы добавлены в проект. Постоянно необходима его перекомпиляция.
Лучше ответь тогда для начала на другой вопрос (просто про Custom Build Step).

yolki

может, там некоторые файлы имеют модификации в будущем?

Serab

Так, как обычно и бывает, этот вопрос разрешился сам собой после периодических установок "Exclude From Build" в Yes/No. Просто надо было походу почистить OutDir. Теперь этот проект хочет перекомпилироваться только если изменялись соответствующие файлы. Это уже хорошо.

Serab

Остается проблема с MIDL tool.
Есть, правда, вариант забабахать его вручную через Custom Build Step. Похоже, что так и придется делать :crazy:

Realist

Было бы круто, если бы ты точно сформулировал, с минимальным примером, в чем конкретно проблема.
1. А в общем такие соображения: зависимости студия (скорей всего) смотрит по времени модификации файла. Если у какого-то файла эта дата в будущем, это надо исправить. При копировании дата модификации обычно сохраняется.
2. Аккуратно прописывай Additional dependencies, Outputs. Если у тебя хоть сколько-то нетривиальная логика копирования/автоматической генерации рекомендую создать отдельный проект Makefile, которому и поручить обновлять что нужно и когда нужно. Потому что
— Makefile удобно редактировать
— make будет выполняться всегда (всегда будет проверять, нужно ли что-то обновить). Кастомные build steps выполняются, если студия решит, что данный проект нужно обновить/данный проект реально перекомпилировался, etc
— Makefile правильно поддерживают обработку ошибок и удаление нагенеренного
Оставить комментарий
Имя или ник:
Комментарий: