是否可以在不重新启动 Visual Studio 的情况下同时编译 32 位和 64 位配置?

Posted

技术标签:

【中文标题】是否可以在不重新启动 Visual Studio 的情况下同时编译 32 位和 64 位配置?【英文标题】:Is it possible to compile both 32-bit and 64-bit configurations without restarting Visual Studio? 【发布时间】:2009-11-16 08:56:45 【问题描述】:

目前 Visual Studio 刚刚启动 cl.exe 用于 C++ 源代码编译。 cl.exe 需要位于%PATH% 环境变量中列出的文件夹之一中。

由于 cl.exe 有不同版本的 32 位和 64 位编译,为了在编译 64 位项目后编译 32 位项目,需要重新启动 Visual Studio。

典型的解决方案是有两个 .cmd 文件,每个文件都适当地设置 %PATH%,然后启动 Visual Studio。有不需要重启 Visual Studio 的解决方案吗?

【问题讨论】:

【参考方案1】:

您不必重新启动。只需在您的解决方案和项目中设置两个“解决方案平台”(例如 Win32 和 x64)即可开始使用,因为 Visual Studio 会自动找到正确的工具。

【讨论】:

+1 - 我没有考虑两个平台,你的解决方案比我想象的要简单。 不,它不起作用。要么我设置了 %PATH% 并且它适用于一个(正确的)平台,要么我没有设置 %PATH% 并且它找不到 cl.exe。 那么您已经做了一些非常适合您的构建环境的事情。这根本不是默认行为。 确实;也许你把 PATH 弄得太乱了,以至于环境不再好了。要检查基本的东西是否仍然有效,请尝试您的项目是否使用 msbuild 构建,如果您对它有点熟悉的话。另请注意,为 VS 工具设置路径的正确方法是将平台作为参数运行 VSINSTALLDIR/VC/vcvarsall.bat。【参考方案2】:

始终有 Build->Batch Build 命令,您可以在其中选择要构建的配置。

【讨论】:

【参考方案3】:

目前 Visual Studio 仅启动 cl.exe 用于 C++ 源代码编译。 cl.exe 需要位于 %PATH% 环境变量中列出的文件夹之一中。

这不是真的。 VS 不依赖路径来定位 cl.exe(cl.exe 不在我的路径中,但是 VC++ 可以编译得很好,无论如何)。我认为它要么使用注册表,要么使用存储在 Tools/Options/Projects 和 Solutions/VC++ 目录中的配置。

由于 cl.exe 有不同版本的 32 位和 64 位编译,为了在编译 64 位项目后编译 32 位项目,需要重新启动 Visual Studio。

不,只是为项目创建不同的目标。

【讨论】:

以上是关于是否可以在不重新启动 Visual Studio 的情况下同时编译 32 位和 64 位配置?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以在不购买 Visual Studio 许可证的情况下使用团队资源管理器进行版本控制?

启动SharePoint添加时,Visual Studio崩溃

打开VS2015提示“重新启动处于挂起状态。请在启动Visual Studio”之前重新启动

我的Visual Studio 2005安装好以后只要一启动就出提示“包加载失败”,不知道咋回事??

是否支持在 Visual Studio 中验证(智能感知)内联 CSS3?

Visual Studio 有时会在 PC 重新启动后重建未修改的项目