Можно прекратить генерировать *.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.