У меня есть следующий тривиальный файл с именем Temp.cpp
:
#include <string>
int main() { return 0; }
и я пытаюсь скомпилировать его с помощью следующей командной строки в среде бесплатной сборки Windows XP с использованием WDK 7.1:
cl.exe /Iinc\api\crt\stl70 /Iinc\crt C:\Temp.cpp
и я получаю действительно случайные ошибки, такие как:
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.207 for 80x86
C:\WinDDK\7600.16385.1\inc\api\crt\stl70\iosfwd(202) :
error C2144: syntax error : 'int' should be preceded by ';'
Ошибка исчезнет, если я использую stl60
вместо stl70
, но это не решает проблему.
В чем причина проблемы?
Обновление: Я попытался снова удалить и установить WDK, но ничего не изменилось. (
Обновление 2: Хорошо, очевидно, ошибка выкрикивает в самом файле заголовка: _SCL_INSECURE_DEPRECATE
является причиной. Кто-нибудь знает, как правильно отключить ? (Если я просто закомментирую строки, я получу намного больше ошибок, связанных с кучей других макросов.)