Visual Studio C/C++ 中的多个构建目标

Posted

技术标签:

【中文标题】Visual Studio C/C++ 中的多个构建目标【英文标题】:Multiple build targets in visual studio C/C++ 【发布时间】:2013-10-31 20:01:26 【问题描述】:

是否可以一口气编译多个构建目标?例如,我想编译一个 .exe 和一个静态库,其中包含除包含 main() 的 .c 文件之外的所有内容

如果不可能,如何管理这样的多个构建目标?

【问题讨论】:

您可以通过使用这些输出定义不同的项目来构建多个 dll、exe 和 lib。对于您的具体示例,我将创建一个构建 lib 的项目,以及一个包含编译为 exe 的 main.c 的项目,并链接上述 lib。 但我不能像在 GNU Make 中那样定义一个 .o 目标,然后在此之上定义一个 .so 和 ELF? 那种。您的库代码可以放入具有 .lib(.o) 文件和 .dll(.so) 的构建目标的项目中。您可以将可执行文件链接到其中任何一个。如果这是您要的,则无法直接转换 lib => .dll (.o => .so)。 问题是链接没有从静态库传送到具有静态库的.exe(说它是除了main.cpp之外的所有东西),所以现在你需要维护更多的项目文件。 【参考方案1】:

您实际上可以为同一个项目构建多个配置。因此,您需要确保每个单独的配置都可以正常构建并且在单独的路径中。然后,您可以使用 Batch Build 对话框一次性构建所有内容。我希望甚至可以使用相同的项目构建 exe 和 dll,但配置不同。

Build multiple configurations simulataneously:

在菜单栏上,选择 Build、Batch Build。 在“构建”列中,选中您要在其中构建项目的配置的复选框。 选择“构建”或“重建”按钮以使用您指定的配置构建项目。

如需更多参考,请参阅batch build dialog box。

【讨论】:

以上是关于Visual Studio C/C++ 中的多个构建目标的主要内容,如果未能解决你的问题,请参考以下文章

在 Visual Studio 2013 中调试不同解决方案中的多个项目

我可以使用Visual Studio从多个微控制器读取数据吗?

如何缩短 Visual Studio 中的链接过程

Visual Studio中的环境变量(以Visual Studio 2013为例)

Visual Studio中的环境变量(以Visual Studio 2013为例)

构建卡在 Visual Studio 2015 中