Windows 下使用 MSVC 编译 CMake 项目
1. 编译和构建
下面使用常见的 CMake 配置和构建命令。
配置项目到 ./build/
文件夹下,使用 Visual Studio 2019 生成器,使用 x64
构建工具,使用 x64
构建平台。
bash
cmake -B ./build -G "Visual Studio 16 2019" -T host=x64 -A x64 .
构建项目,使用 Release
配置,使用 ALL_BUILD
目标,使用 4 个线程。
bash
cmake --build ./build --config Release --target ALL_BUILD -j 4 --
2. 常见问题
2.1 设置编译器的默认编码为 UTF-8
下面在 CMakeLists.txt
文件指定编译器的默认编码为 UTF-8。
其中 /utf-8
标志和 /source-charset:utf-8 /execution-charset:utf-8
标志的作用是一样的[1]。如果想了解更多 /utf-8
标志请阅读 参考文献。
你可以使用下面的任意一组代码:
cmake
if(MSVC)
add_compile_options(/utf-8)
endif()
cmake
if(MSVC)
add_compile_options(/source-charset:utf-8)
add_compile_options(/execution-charset:utf-8)
endif()
cmake
add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")
cmake
add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/source-charset:utf-8>")
add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/execution-charset:utf-8>")
将源字符集和执行字符集设置为 UTF-8,learn.microsoft.com,https://learn.microsoft.com/zh-cn/cpp/build/reference/utf-8-set-source-and-executable-character-sets-to-utf-8 ↩︎