Директива компилятора / Za не компилирует системные заголовки в VS2010 - PullRequest
7 голосов
/ 30 марта 2011

Я хотел отключить языковые расширения, чтобы иметь возможность выполнять некоторые тесты в моем проекте.Я обнаружил, что должен установить директиву компилятора / Za от http://msdn.microsoft.com/en-us/library/0k0w269d.aspx,, но после этого у меня возникают ошибки, если я включаю заголовки Windows.Есть ли способ написания стандартного кода, совместимого (реализуемого компилятором, а не другими программистами / обзорами кода) в VS2010 и все еще использующего системные заголовки?

Спасибо!

Ответы [ 2 ]

5 голосов
/ 30 марта 2011

Заголовки окон никогда не компилировались с /Za.

Есть и другие проблемы с / Za, из-за которых Microsoft прекратила тестировать свою стандартную библиотеку C ++ с этой опцией. Как сказано здесь:

http://permalink.gmane.org/gmane.comp.lib.boost.devel/212180

Рекомендуется не использовать его в «реальном» коде.

5 голосов
/ 30 марта 2011

Изолируйте использование <windows.h> в исходных файлах, которые вы не компилируете с /Za, и используйте параметр для других файлов.

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