如何在Visual Studio中构建具有不同依赖项版本的多个产品?

时间:2013-11-29 17:09:28

标签: c++ visual-studio-2010

我正在构建一个Ruby C Extensions,我必须为Ruby 1.8和Ruby 2.0构建。源代码是相同的,但我必须链接到不同的Ruby库并设置不同的构建路径。

在Xcode中,我能够设置一个项目,其中项目包含通用配置。然后我设置了两个目标,配置了不同的包含路径和库以及不同的输出(调试/发布)路径。

当我构建时,我将构建两个产品,每个产品针对每个目标Ruby版本。当我构建Release时,我得到:

  • 建立/释放/ 1.8 / Example.bundle
  • 建立/释放/ 2.0 / Example.bundle

现在我正在尝试为Visual Studio 2010做同样的事情。我一直在查看配置管理器和属性表,但我很难想象如何为目标创建相同类型的继承就像我在Xcode中一样。

  1. VS中是否可以有多个目标,就像在Xcode中一样,在构建时从同一个项目生成两个产品?

  2. 我是否必须为每个要定位的Ruby核心创建调试和发布配置?

1 个答案:

答案 0 :(得分:0)

我想我知道你在寻找什么(但我不能确定,因为我没有使用Xcode的经验。)

如果您使用的是Visual Studio,那么您可以通过以下方式设置构建配置的项目属性(例如,针对Release),然后将 copy 配置为新构建键入(例如将其命名为“Release20”)并进入并更改新构建所需的属性。您可以在“Configuration Manager”中执行此操作。 (当您选择添加新配置时,它允许您从现有配置中复制所有属性。)

但是,您似乎已经熟悉了这一点,所以我不确定问题是什么。

你应该知道的另一件事是两个构建配置不会保持链接在一起(这不是一个正确的继承和覆盖属性,比如使用属性表。)如果你改变一个东西,它不会影响另一个。

正是出于这些原因(除了其他一些原因)我自己已经放弃了试图争论VS构建系统。我现在使用Premake和CMake来完成我的所有项目。但当然,为其他人的大型代码库构建一个构建系统是相当繁琐的。