命令行编译VC程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了命令行编译VC程序相关的知识,希望对你有一定的参考价值。

命令行下编译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:只编译,不链接


以上是关于命令行编译VC程序的主要内容,如果未能解决你的问题,请参考以下文章

namke 命令行编译

编译wxWidgets —— windowsvc71bcc32MinGW与命令行

VC工程的命令行编译法

命令行下编译vs2010工程怎么做

vc2015解决“错误D8016“/ZI”和“/Gy-”命令行选项不兼容”问题

设置 VC++ 命令行消息语言