ide*_*n42 5 cmake utf-8 character-encoding visual-c++
我们所有的源代码都是有效的UTF-8,但是Windows上的某些用户无法构建它们,因为他们的系统配置了不同的编码。
在不向源文件中添加BOM的情况下,是否可以告诉MSVC将所有源都视为UTF-8,而不考虑用户的系统编码是什么?
请参阅有关该主题的MSDN链接(要求添加BOM表头)。
Flo*_*ian 14
你可以试试:
add_compile_options("$<$<C_COMPILER_ID:MSVC>:/utf-8>")
add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")
Run Code Online (Sandbox Code Playgroud)
默认情况下,Visual Studio 检测字节顺序标记以确定源文件是否采用编码的 Unicode 格式,例如 UTF-16 或 UTF-8。如果未找到字节顺序标记,则假定源文件是使用当前用户代码页编码的,除非您已使用
/utf-8或/source-charset选项指定了代码页。
参考