参考位置:C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.32.31326\bin\Hostx64\x64
cl的编译选项:编译选项使用正斜杠指定,大小写敏感
[]里面是自己填的内容
编译选项 | 作用 |
---|---|
/c | 编译但不链接 |
/D[xxx] | 定义常数和宏 |
/E | 将预处理器输出复制到标准输出 |
/F[bytes] | 设置堆栈大小 |
/Fd[pathname] | 重命名程序数据库文件 |
/Fe[pathname] | 重命名可执行文件 |
/MD | 使用MSVCRT.lib编译以创建多线程DLL |
/MDd | 使用MSVCRTD.lib编译以创建调试多线程DLL |
/MT | 使用LIBCMT.lib编译以创建多线程可执行文件 |
/MTd | 使用LIBCMTD.lib编译以创建调试多线程可执行文件 |
/LD | 创建动态链接库 |
/LDd | 创建调试动态链接库 |
/O1 | 优化等级 |
/O2 | 优化等级 |
/Od | 禁用优化 |
/Os | 代码大小优先 |
/Ot | 代码速度优先 |
/std:c++14 | C++标准 |
/std:c++17 | C++标准 |
/std:c++20 | C++标准 |
/std:c++latest | C++标准 |
/std:c11 | C标准 |
/std:c17 | C标准 |
/U[xxx] | 移除预定义宏 |
/u | 移除所有的预定义宏 |
/utf-8 | 将源和执行字符集设置为UTF-8 |
/w | 禁用所有警告 |
/W0, /W1, /W2, /W3, /W4 | 设置输出警告等级 |
/Wall | 启用所有警告 |
/wd[xxx] | 禁用指定的警告 |
打开Project的Property页面,可以看到提供给编译器的参数
官方文档:https://learn.microsoft.com/en-us/cpp/build/reference/md-mt-ld-use-run-time-library?view=msvc-170
Indicates whether a multithreaded module is a DLL and specifies retail or debug versions of the run-time library.
All modules passed to a given invocation of the linker must have been compiled with the same run-time library compiler option (/MD, /MT, /LD).