C++ 如何在不运行vcvars32.bat的情况下直接运行cl.exe?

C++ 如何在不运行vcvars32.bat的情况下直接运行cl.exe?,c++,visual-studio,C++,Visual Studio,每次我必须运行cl.exe来编译cpp文件时,我都必须首先运行vcvars32.bat。我搜索了一些类似的问题,解决方案是编写一个.bat文件,但我不知道如何编写。如果您希望创建一个.bat文件来启动这两个过程,它将如下所示: @echo off start /wait vcvars32.bat start /wait cl.exe @echo off set path1= C:\testa set path2= C:\testb start /wait %path1%\vcvars32.ba

每次我必须运行cl.exe来编译cpp文件时,我都必须首先运行vcvars32.bat。我搜索了一些类似的问题,解决方案是编写一个.bat文件,但我不知道如何编写。

如果您希望创建一个.bat文件来启动这两个过程,它将如下所示:

@echo off
start /wait vcvars32.bat
start /wait cl.exe
@echo off
set path1= C:\testa
set path2= C:\testb
start /wait %path1%\vcvars32.bat
start /wait %path2%\cl.exe
如果这些文件彼此不在同一文件夹中,则如下所示:

@echo off
start /wait vcvars32.bat
start /wait cl.exe
@echo off
set path1= C:\testa
set path2= C:\testb
start /wait %path1%\vcvars32.bat
start /wait %path2%\cl.exe

如果您希望创建一个.bat文件来启动这两个进程,它将如下所示:

@echo off
start /wait vcvars32.bat
start /wait cl.exe
@echo off
set path1= C:\testa
set path2= C:\testb
start /wait %path1%\vcvars32.bat
start /wait %path2%\cl.exe
如果这些文件彼此不在同一文件夹中,则如下所示:

@echo off
start /wait vcvars32.bat
start /wait cl.exe
@echo off
set path1= C:\testa
set path2= C:\testb
start /wait %path1%\vcvars32.bat
start /wait %path2%\cl.exe

sqlite3_compile.bat例如:

@echo off
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"
cl sqlite3.c -link -dll -out:sqlite3.dll
pause

sqlite3_compile.bat例如:

@echo off
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"
cl sqlite3.c -link -dll -out:sqlite3.dll
pause

从安装时提供的“开始”菜单快捷方式中打开相应的Visual Studio命令提示符。它为您设置所有内容,您可以随心所欲地运行
cl.exe
。只要保持命令提示符打开,您只需运行
vcvars32.bat
一次。由于您不使用IDE,您也可以使用其他编译器,如GCC,这不需要此类内容。您不必使用vcvars32,也可以手动键入所需的路径、INCLUDE和LIB环境变量分配。需要,哦,大约50倍的时间,而且由于打字错误而失败的可能性要高出1000倍。当然,聪明的做法是在桌面上创建一个快捷方式,只需单击一下。或者使用您已有的命令提示符,通常称为“VisualStudio命令提示符”。当然也可以使用IDE。谢谢你的帮助@实际上,有合理的理由避免调用
vcvars32.bat
。关键的原因是——速度非常慢。如果您以编程方式运行
cl.exe
(通过批处理文件首先运行
vcvars32.bat
),大部分时间都花在
vcvars32.bat
,对于较小的文件-超过了
cl.exe本身的编译时间。请从安装提供的“开始”菜单快捷方式中打开相应的Visual Studio命令提示符。它为您设置所有内容,您可以随心所欲地运行
cl.exe
。只要保持命令提示符打开,您只需运行
vcvars32.bat
一次。由于您不使用IDE,您也可以使用其他编译器,如GCC,这不需要此类内容。您不必使用vcvars32,也可以手动键入所需的路径、INCLUDE和LIB环境变量分配。需要,哦,大约50倍的时间,而且由于打字错误而失败的可能性要高出1000倍。当然,聪明的做法是在桌面上创建一个快捷方式,只需单击一下。或者使用您已有的命令提示符,通常称为“VisualStudio命令提示符”。当然也可以使用IDE。谢谢你的帮助@实际上,有合理的理由避免调用
vcvars32.bat
。关键的原因是——速度非常慢。如果您以编程方式运行
cl.exe
(通过首先运行
vcvars32.bat
)的批处理文件),对于较小的文件,大部分时间都花在
vcvars32.bat
,这比
cl.exe
本身的编译时间还要多。