Visual Studio 2003和2005(可能是我所知道的2008)需要命令行用户在"Visual Studio命令提示符"中运行.启动此命令提示符时,它会设置C++编译器cl在编译时使用的各种环境变量.
这并不总是令人满意的.例如,如果我想从Ant中运行'cl',我想避免在'Visual Studio命令提示符'中运行Ant.运行vcvars32.bat不是一个选项,因为vcvars32.bat设置的环境在运行cl时会丢失(如果从Ant中运行).
有没有一种简单的方法来运行cl而无需在Visual Studio命令提示符下运行?
编译器可以像命令行(或makefile)一样使用,就像任何其他编译器一样.您需要注意的主要事项是INCLUDE和LIB环境变量以及PATH.如果您从cmd.exe运行,则可以运行此.bat来设置环境:
C:\ Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat
如果您正在尝试使用makefile,Cygwin,MinGW等编译器,则需要手动设置环境变量.假设编译器安装在默认位置,这应该适用于Visual Studio 2008编译器和最新的Windows SDK:
添加到路径:
C:\ Program Files\Microsoft SDKs\Windows\v6.1\Bin
C:\ Program Files\Microsoft Visual Studio 9.0\VC\Bin
C:\ Program Files\Microsoft Visual Studio 9.0\Common7\IDE
添加到INCLUDE:
C:\ Program Files\Microsoft SDKs\Windows\v6.1\Include
C:\ Program Files\Microsoft Visual Studio 9.0\VC\include
C:\ Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include
添加到LIB:
C:\ Program Files\Microsoft SDKs\Windows\v6.1\Lib
C:\ Program Files\Microsoft Visual Studio 9.0\VC\lib
这些是最低限度的,但对于基本的东西应该足够了.研究vcvarsall.bat脚本以查看您可能想要设置的内容.
创建自己的批处理文件(比如clenv.bat),并调用它而不是cl:
@echo off :: Load compilation environment call "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" :: Invoke compiler with any options passed to this batch file "C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\cl.exe" %*
clenv.bat现在可以像cl.exe一样调用,除了它首先会首先加载所需的环境变量.
您只需运行自己设置变量的批处理文件即可.在VS08中,它位于: -
C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat