cl.exe 是控制 Microsoft C 和 C++ 编译器以及链接器的工具。cl.exe 只能在支持 Microsoft Visual Studio 的操作系统中运行。 编译器产生通用对象文件格式 (COFF) 对象 (.obj) 文件。 链接器产生可执行文件 (.exe) 或动态链接库文件 (DLL)。
在windows命令行下,输入cl,若系统提示“'cl'不是内部或外部命令,也不是可运行的程序或批处理文件。”说明VS没有安装或者环境变量设置不正确。本机是已经安装了VS2010的,所以需要设置一下环境变量。在系统变量的Path路径下添加如下内容:“E:Program FilesMicrosoft Visual Studio 10.0VCin”(结合VS的安装路径自行设置)。
在命令行输入cl时,出现“丢失mspdb100.dll”的问题时,需要把“E:Program FilesMicrosoft Visual Studio 10.0Common7IDEmspdb100.dll”复制到“E:Program FilesMicrosoft Visual Studio 10.0VCin”下面。这样问题就得到解决了。
设置好后,这样就可以在命令行下输入cl就不会出错了。尝试运行如下命令:
cl E:REhello.cpp /FaE:REhello.asm出现错误“fatal error C1034: stdio.h: no include path set”,解决方法是在环境变量中新建LIB和INCLUDE变量,在LIB中设置如下值:“E:Program FilesMicrosoft Visual Studio 10.0VClib”;在INCLUDE中设置如下值:“E:Program FilesMicrosoft Visual Studio 10.0VCinclude”
出现错误“fatal error LNK1104: cannot open file “kernel32.lib””解决方法是在环境变量中新建的LIB变量中增加值:“C:Program FilesMicrosoft SDKsWindowsv7.0ALib”。
完成以上设置之后,就可以正常运行cl进行编译了。
cl E:REhello.cpp /FaE:REhello.asm /FeE:REhello.exe执行以上命令,就会在E:RE目录下生成hello.obj、hello.exe、hello.asm三个文件。