首先说明一下背景: 为什么要在DOS界面编译C/C++源程序?有很多现成的开发环境(IDE)如:vs, vc++等,这些开发环境集成了编译,调试,使用起来很方便,而且图形化操作界面,简洁明了。但是在开发环境中编译程序,需要建立一个工程,当我只需要编译单个小的测试文件时,比喻 输出helloword!这样的单个小文件,在IDE中编译,仍然需要建立一个工程,这有点麻烦;所以在DOS界面中调用编译器来编译一个单独的C/C++文件,就显得很方便了;
如何在DOS界面中调用 编译器 来编译C/C++源程序?(这里以调用vs2012的编译器 cl.exe 来编译test.c文件为例)
第一种方法:手动设置环境变量 (添加系统变量,使系统能够找到编译器和相应的链接文件)
(注:编辑环境变量时,环境变量的路径最好不要直接复制文字来编辑,这样添加的路径往往无效,最好是新建变量后,点击“浏览目录”添加变量路径)
1,编辑系统变量PATH,在后面加入(每个变量后面要用;隔开)
C:Program Files (x86)Microsoft Visual Studio 12.0VCin (引入cl 编译器)
C:Program Files (x86)Microsoft Visual Studio 12.0Common7IDE (引入mspdb100.dll文件,如果不加这个路径到系统变量中,也可以直接将mspdb100.dll文件复制到上面那个路径的文件夹下)
INCLUDE: C:Program Files (x86)Microsoft Visual Studio 12.0VCinclude (告诉系统include文件的位置)
3,新建环境变量
LIB:C:Program Files (x86)Microsoft Visual Studio 12.0VClib (告诉系统lib库文件的位置)
4,打开cmd窗口, 进入cpp文件目录,如:cd C:usersdellDesktop, 然后输入命令 cl test.c 运行,可能会提示如下错误:
“LINK:fatal error LNK 1104:cannot open file 'kernel32.lib“ ;
解决办法: kernel32.lib是Windows系统文件,此文件在文件夹C:Program FilesMicrosoft SDKsWindowsv7.0ALib 中,将其复制到C:Program Files (x86)Microsoft Visual Studio 12.0VClib 中;
5,再输入命令 cl test.c 运行,会提示生成 test.exe, test.obj 文件,然后输入test.exe 运行,就能输出结果了
第二种方法:运行批处理文件 .bat 代替手动设置环境变量 (这里就显示了批处理文件的作用了)
1,可以自己用记事本写一段简单的批处理文件.bat, 其内容就是设置环境变量,如下:
set path=C:Program Files (x86)Microsoft Visual Studio 12.0VCin;C:Program Files (x86)Microsoft Visual Studio 12.0Common7IDE
set include=C:Program Files (x86)Microsoft Visual Studio 12.0VCinclude
set lib=C:Program Files (x86)Microsoft Visual Studio 12.0VClib
set include=C:Program Files (x86)Microsoft Visual Studio 12.0VCinclude
set lib=C:Program Files (x86)Microsoft Visual Studio 12.0VClib
如果不会写,可以直接运行vs提供的批处理文件vcvarsall.bat (文件位置:C:Program Files (x86)Microsoft Visual Studio 12.0VC目录下)
打开cmd窗口进入文件所在目录:cd C:Program Files (x86)Microsoft Visual Studio 12.0VC,然后输入文件名 vcvarsall.bat 运行;(每次关闭dos后,再打开,都要运行一次)