Студия, проект постоянно просит перекомпилироваться
проект — С++/C#/VB?
Как это поправить? Туплю аццки.В свойствах исходного файла поставить output.
Может неправильно понял, но попробуй в Build -> Configuration Manager убрать галочки с Build
проект — С++/C#/VB?C++ native
Может неправильно понял, но попробуй в Build -> Configuration Manager убрать галочки с BuildНет, не годится, он должен перекомпилироваться, когда изменяется первоначальный файл, из которого генерятся остальные.
В свойствах исходного файла поставить output.Я делаю не через Custom Build Step, а через встроенную тулзу MIDL, там все output-имена заданы вручную.
Я делаю не через Custom Build Step, а через встроенную тулзу MIDL, там все output-имена заданы вручную.У MIDL Tool есть свойство Outputs. Если ты её руками добавлял, то надо прописать свойство Outputs.
В свойствах исходного файла поставить output.Или ладно, тут еще один независимый трабл, с другим проектом. Я вот скриншот запощщу, не ругайте сильно.

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

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

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