首页 / 知识
从普通命令行使用Visual Studio的“ cl”
2023-04-16 15:47:00

Using Visual Studio's 'cl' from a normal command lineVisual Studio 2003和2005(就我所知,也许还有2008)要求命令行用户在" Visual Studio命令提示符"中运行。 启动此命令提示符时,它将设置C ++编译器cl在编译时使用的各种环境变量。 这并不总是可取的。 例如,如果我想从Ant内部运行" cl",我想避免不得不从" Visual Studio命令提示符"内部运行Ant。 不能选择运行vcvars32.bat,因为在运行cl时(如果从Ant内部运行),由vcvars32.bat设置的环境将丢失。 是否有一种简单的方法可以运行cl,而不必从Visual Studio命令提示符下运行? 就像任何其他编译器一样,可以从命令行(或makefile)使用这些编译器。您需要注意的主要事情是INCLUDE和LIB环境变量以及PATH。如果从cmd.exe运行,则只需运行以下.bat即可设置环境:
如果您尝试使用Makefile,Cygwin,MinGW或类似文件中的编译器,则需要手动设置环境变量。假设编译器安装在默认位置,则该方法适用于Visual Studio 2008编译器和最新的Windows SDK: 添加到PATH:
添加到包含:
新增至LIB:
这些是最低限度的要求,但对于基本事物来说应该足够了。研究vcvarsall.bat脚本以了解您可能还要设置的内容。 创建您自己的批处理文件(例如clenv.bat),然后调用它而不是cl:
现在可以像cl.exe一样调用clenv.bat,只不过它会先加载所需的环境变量。 您只需运行批处理文件即可自行设置变量。在VS08中,它位于:-
vcvars32或vsvars32批处理文件所做的不是火箭科学。他们只是将PATH,INCLUDE,LIB以及可能的LIBPATH环境变量设置为特定编译器版本的明智默认值。 您要做的就是确保为Ant或makefile正确设置了这些内容(在调用它们之前或在其中)。 对于INCLUDE和LIB / LIBPATH,在环境变量中设置这些项目的另一种方法是将这些设置作为显式参数传递给命令行。 诀窍是始终使用正确的vcvars批处理文件。如果您只安装了Visual Studio的一个版本,那不是什么大问题。如果您正在处理像我这样的多个版本,则在使用MSVC ++ 15 vcvars文件设置的控制台中运行MSVC ++ 14构建变得非常容易。它可能会也可能不会,但是无论您得到什么,都将与在VisualStudio中构建的内容有所不同。 我们通过从选定的编译器派生适当的vcvars文件并始终在工具调用内部设置环境的方式来解决terp中的问题。这样,对于使用的编译器,您始终拥有正确的vcvars文件。 只是重申一下:我强烈建议您不要尝试手动复制vcvars文件为您执行的操作。您肯定会错过某些东西或将其恰到好处地使它看起来像在工作,而实际上却在做与您想要的略有不同的事情。 由Visual Studio命令提示符运行的vcvarsall.bat批处理文件只是试图使您的系统环境变量和路径保持整洁(这对您有多个版本的Visual Studio非常重要)。 如果您很乐意将安装程序限制为一个版本,并且环境变量的路径和路径较长,请将这些设置(手动)转移到系统环境变量("我的电脑" |"属性"-或Win-Pause / Break)。 我还是建议不要这样做! 我在visual-studio-2010中打开Visual Studio Command Prompt的Visual Studio命令行的版本。 在内部用于构建库/项目,然后对生成的DLL文件执行一些额外的步骤。
将这些行复制到您的
在此版本的脚本中,此后我将"停留"在交互式命令行模式下。 注释 |
最新内容
相关内容
linux命令删除用户组?
linux命令删除用户组?,管理,密码,系统,用户组,用户,概念,命令,文件,管理员,工作组,Linux命令之用户组管理1、查看/etc/group文件,只存在名称为mlinux运行图形界命令?
linux运行图形界命令?,系统,密码,地址,电脑,图形界面,地方,工具,界面,终端,图形,linux图形化界面命令第一种方式比较简单,只需要选择相应的带图linux怎样运行命令?
linux怎样运行命令?,系统,工作,信息,基础,地址,命令,目录,工具,密码,一致,Linux系统基础操作指令1、linux常用命令有pwd命令、cd命令、ls命令开机启动命令linux?
开机启动命令linux?,软件,标准,环境,工作,设备,系统,名称,情况,电脑,位置,linux启动app命令1、linux启动app命令:做 Linux 嵌入式开发,经常会遇纯命令行linux服务器?
纯命令行linux服务器?,密码,服务,系统,命令,终端,地址,百度,情况,状态,公共,在linux下如何访问服务器首先,连接相应linux主机,进入到linux命令行linux设置命令行长度?
linux设置命令行长度?,系统,工作,信息,地址,命令,工具,异常,管理,目录,文件,linux日志显示长度,设置命令tail -n 1000:显示最后1000行 tail -nlinux命令行和关机?
linux命令行和关机?,系统,工作,标准,状态,命令,管理,设备,时间,信息,目录,linux系统重启命令是什么,关机命令是什么?linux系统重启命令是什么,linux编译完运行命令?
linux编译完运行命令?,系统,代码,环境,工具,信息,命令,文件,程序,终端,编辑,在linux中编译C输入完程序后输入个:wq然后按什么键就然后就回到了linux中同步命令行?
linux中同步命令行?,时间,系统,服务,图片,统一,中国,信息,命令,界面,硬件,LINUX时间同步脚本或命令!1、命令格式:ntpdate 时间服务器 用法示例:$linux启动sh命令?
linux启动sh命令?,工作,系统,代码,服务,脚本,文件,命令,目录,方法,权限,Linux下面如何运行SH文件?1、Linux下面运行 SH文件步骤如下:查看目录shlinuxvim命令行?
linuxvim命令行?,系统,代码,模式,入口,基础,环境,命令,文件,编辑,文本,Linux基础-vim模式1、普通模式用的编辑器命令,比如移动光标,删除文本等等linux命令行退出系统?
linux命令行退出系统?,系统,工作,时间,地址,信息,命令,软件,工具,发行,电脑,怎样登录和退出Linux系统我们先mysql -hlocalhost -uroot -p看看