命令行下编译C++代码,需要设置编译环境,分别是:头文件,库文件,以及编译器cl.exe以及连接器link.exe的位置。
1)简单方式,打开VS05,点击Tools,选择Visual Studio 2005 Command Prompt,这个时候就已经配置好编译的环境。
测试:尝试输入cl 或者link(exe后缀可省略),如果能够显示cl的命令参数表明设置成功,可以开始编译。失败提示:‘cl‘不是内部或外部命令,也不是可运行的程序或批处理文件。
2)找到vcvarsall.bat批处理,然后在cmd下运行,就能够配置好编译环境,实际上第一种方法就是调用了该批处理文件。成功提示如下:
Setting environment for suing Microsoft Visual Studio 2005 z86 tools.
该文件一般是在Program Files\Microsoft Visual Studio 8\VC或者Program Files (x86)\Microsoft Visual Studio 8\VC。可以使用Everything进行搜索
3)手动添加系统变量到环境变量中
变量名:INCLUDE
变量值:D:\Program Files (x86)\Microsoft Visual Studio 8\VC\include;D:\Program Files
(x86)\Microsoft Visual Studio 8\VC\PlatformSDK\Include
变量名:LIB
变量值:D:\Program Files (x86)\Microsoft Visual Studio 8\VC\lib;D:\Program Files
(x86)\Microsoft Visual Studio 8\VC\PlatformSDK\Lib
变量名:path
添加cl和link的执行路径:D:\Program Files (x86)\Microsoft Visual Studio 8\VC\bin;D:
\Development\Common7\IDE
配置D:\Development\Common7\IDE,是为了避免提示找不到mspdb80.dll文件
4)手动指定编译的INCLUDE头文件以及链接的LIB
-I指定头文件
例子:
cl.exe main.cpp -/I"D:\Program Files (x86)\Microsoft Visual Studio 8\VC\include"
kernel32.lib advapi32.lib user32.lib
这种情况下,也应该指定kernel32.lib所在的具体目录!!
注意:
1)cl.exe编译完成之后,会自动调用link.exe进行链接
2)cl.exe参数的lib库文件列表是传递给link.exe使用的
如下是一些简单的编译参数:
/c:只编译,不链接