Как заставить Visual Studio 2008 предупреждать об отсутствующих заголовочных файлах - PullRequest
3 голосов
/ 19 октября 2010

Я работаю в качестве кодировщика Mac в приложении c ++, которым делюсь с кодировщиками ПК, использующими VS2008.Когда они вносят изменения в исходный файл, для которого требуется не включенный заголовочный файл, они не получают предупреждений, поскольку большинство их заголовков находятся в предварительно скомпилированном заголовке.Какие настройки они могут использовать, чтобы предупредить их о том, что им не удалось добавить требуемое включение?

Сделало бы мою жизнь проще, поскольку GCC требует, чтобы включения действительно присутствовали.

Ответы [ 2 ]

2 голосов
/ 19 октября 2010

Э-э ... Ваш вопрос, как указано, основан на неправильной предпосылке.

Все заголовки в компиляторе VS обязательны для заполнения . Обойти это невозможно.

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

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

Итак, описанная вами ситуация просто не может произойти на практике. Если это так, то вы, должно быть, опускаете некоторые важные детали о проблеме.

0 голосов
/ 19 октября 2010

Я бы сделал предварительно скомпилированные заголовки условными для определения, которое присутствует только в коде ПК, или наоборот для кода Mac.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...