Windows 命令行下使用 cl.exe 直接编译 C/C++ 程序

前言

与在 IDE 中编译相比,命令行模式编译速度更快,并可以避免被 IDE 产生的一些附加信息所干扰,下面介绍在 Windows 10 命令行下编译 C/C++ 程序。

教程

完成这项任务,系统中首先需要正确安装 Visual Studio IDE。此 IDE 的安装不再赘述,本教程中以 Visual Studio 2019为例。

然后需要配置环境变量,具体为以下三项。(路径中的版本号依据实际情况而确定,不要直接复制

  • Path环境变量

添加cl.exe的路径到Path环境变量的目的是使命令行能找到cl.exe。在Path环境变量中添加如下条目:

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\bin\Hostx64\x64
  • INCLUDE环境变量

添加Path环境变量的目的是使编译器找到include文件夹。在系统变量中新建INCLUDE环境变量(注意大写)。
添加如下条目:

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\um
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\winrt
  • LIB环境变量

在系统变量中新建LIB环境变量(注意大写)。
添加如下条目:

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\lib\x64
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\ucrt\x64
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\um\x64;

测试

新建一个test.cpp源文件:

#include 
using namespace std;
int main()
{
    cout << "Hello, world!" << endl;
    return 0;
}

启动命令行,切换到源代码所在目录,执行cl test.cpp命令

E:\Project\Cpp>cl test.cpp
用于 x64 的 Microsoft (R) C/C++ 优化编译器 19.24.28316 版
版权所有(C) Microsoft Corporation。保留所有权利。

test.cpp
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include\ostream(743): warning C4530: 使用了 C++ 异常处理程序,但未启用展开语义。请指定 /EHsc
test.cpp(5): note: 查看对正在编译的函数 模板 实例化“std::basic_ostream<char,std::char_traits<char>> &std::operator <<<std::char_traits<char>>(std::basic_ostream<char,std::char_traits<char>> &,const char *)”的引用
Microsoft (R) Incremental Linker Version 14.24.28316.0
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:test.exe
test.obj

可见生成了text.exe文件,并可以正常运行:

E:\Project\Cpp>test
Hello, world!

你可能感兴趣的:(教程指南,C++)