我终于发现我需要在命令行中添加以下内容:
-fms-compatibility-version=19.00
在对Clang错误报告#24231的回复中,Reid Klecker解释了为什么这是必要的:
"在[Visual Studio] 2015中,
char16_t
变成了内置类型.以前,它无法构建,因为2013在其标题中定义它.默认情况下,Clang尝试与2013兼容.要定位2015,请将[-fms-compatibility-version=19
] 传递给clang-cl
.可以是cl /?
吐出的整个版本号."
所以我的最后一个命令是(包括一般的库):
clang-cl.exe "C:\test\Source.cpp" -fms-compatibility-version=19.00 ^
-Fe"C:\test\Source.exe" "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" ^
"comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" ^
"odbc32.lib" "odbccp32.lib"