Можно прекратить генерировать *.ipdb *.iobj файлы с помощью VIsual Studio 2015?

В Visual Studio Community 2015 проект Visual С++ создает файл *.ipdb и файл *.iobj в папке Release.

Теперь в Visual Studio Community 2013 я никогда не видел эти файлы, сгенерированные в папке выпуска проекта, поэтому я хотел бы знать -

Можно ли остановить их создание?

Ответы

Ответ 1

Эти файлы создаются, когда Инкрементальная генерация кода времени соединения (LTCG). Это новая функция в Visual С++ 2015.

Если вы отключите Incremental LTCG, компоновщик прекратит создавать эти файлы. Но тогда вы теряете преимущества Инкрементального LTCG.

Чтобы отключить Incremental LTCG, измените свойства проекта: В разделе Linker = > "Оптимизация" измените "Generation Time Code Generation" на что-то другое, кроме "Использовать временное кодирование Fast Link (/LTCG: incremental)" (это значение по умолчанию для Release строит).

Ответ 2

Я считаю, что он позволяет быстрее генерировать проект, когда он печатает такое сообщение в консоли:

2 of 3 functions (66.7%) were compiled, the rest were copied from previous compilation.
1>    2 functions were new in current compilation
1>    0 functions had inline decision re-evaluated but remain unchanged
1>  Finished generating code

Я не думаю, что вы можете удалить его, но это полезный инструмент Это связано с тем, что генерация PDB занимает большую часть времени компиляции. Полагаю, вы можете считать это "предварительно скомпилированными источниками".

Ответ 3

Вам не нужно отключать добавочные ссылки. Начиная с VS 2015 по умолчанию в компоновщике компоновки/оптимизации для выпуска используется "Генерация временного кода быстрой ссылки" (/LTCG: инкремент). Вам просто нужно изменить его на "Link Time Code Generation" (/LTCG), и у вас будет инкрементное связывание, и VS перестанет создавать файлы *.iobj и * ipdb.