2015-11-24 3 views
0

Я работаю над проектом Visual C++, где я хочу распространять двоичные файлы для приложения в виде tarball/zip. К сожалению, когда я создаю свое приложение и перехожу в выходной каталог, я вижу все это рядом с исполняемым файлом - файл IOBJ, файл IPDB и PDB. Я бы хотел, чтобы эти файлы были автоматически очищены после сборки, поэтому мне не нужно их вручную удалять, но как мне настроить это в MSBuild? Я попыталсяMSBuild: Как не удалять EXE-файлы после очистки?

msbuild Foo.sln /t:Clean 

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

Возможно ли это в MSBuild?

+1

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

+1

Цель сборки - подготовить для локальной отладки/работы. Цель Clean - убедиться, что сборка завершена. Подготовка дистрибутива зависит от вас. (Некоторые из них делают попытку архивирования PDB для каждой версии, поэтому они имеют более глубокое понимание отчетов об ошибках.) –

ответ

0

Невозможно определить, какую очистку выполнит проект. Microsoft says:

При очистке сборки все промежуточные и выходные файлы удаляются, оставляя только файлы проекта и компонентов.

Вы не сможете очистить проект и держать ваш exectuable; однако, как @Anon почта более или менее говорит: вы можете предоставить событие после построения в проекте, который будет вычистить те файлы, которые вы не заинтересованы в:

echo Cleaning project directory 
del $(OutDir)\*.iobj 
del $(OutDir)\*.ipdb 
+0

* Невозможно определить, что будет делать очистка проекта * технически это, например, путем изменения сгенерированного. tlog-файлов или путем переопределения цели Clean – stijn

Смежные вопросы