Visual studio 2008 如何在解决方案中定义Makefile样式变量以用于多个项目(VS 2008)? 我在一个Visual Studio 2008解决方案中工作,其中有多个C项目和一些C++项目,并希望使用POST生成事件来执行一些第三方供应商命令行工具。在几个项目中需要这些生成后事件

Visual studio 2008 如何在解决方案中定义Makefile样式变量以用于多个项目(VS 2008)? 我在一个Visual Studio 2008解决方案中工作,其中有多个C项目和一些C++项目,并希望使用POST生成事件来执行一些第三方供应商命令行工具。在几个项目中需要这些生成后事件,visual-studio-2008,msbuild,projects-and-solutions,Visual Studio 2008,Msbuild,Projects And Solutions,我可以硬编码路径名和命令行上需要的其他文件,但我真的更喜欢更灵活的东西。也许: $(ToolsDir)\$(PackageBuilder)$(第三方文件夹)$(SharedOutFolder) 当我为UNIX开发并使用makefiles执行构建时,我能够在高级makefile中定义一个变量,并将其由子makefiles继承。通过这种方式,我可以让所有的输出到一个特定的地方,或者在一个特定的地方寻找一个库,等等 使用VisualStudio解决方案是否可以做一件类似的事情,比如我可以定义一个环境变

我可以硬编码路径名和命令行上需要的其他文件,但我真的更喜欢更灵活的东西。也许:

$(ToolsDir)\$(PackageBuilder)$(第三方文件夹)$(SharedOutFolder)

当我为UNIX开发并使用makefiles执行构建时,我能够在高级makefile中定义一个变量,并将其由子makefiles继承。通过这种方式,我可以让所有的输出到一个特定的地方,或者在一个特定的地方寻找一个库,等等

使用VisualStudio解决方案是否可以做一件类似的事情,比如我可以定义一个环境变量,然后在项目级别的构建后事件中引用它


编辑:我现在正在使用Windows环境变量,但除了下载并构建代码外,我更喜欢不需要安装的东西。

您考虑过Windows中的环境变量吗?我知道这不完全是同一回事,但您可以使用批处理文件设置它们,并在生成后执行该批处理文件。

我不久前遇到过类似的问题。我的第一个“解决方案”是创建一个工具,当开发人员从存储库获得第一个“get”时,该工具就被构建并运行。这并不漂亮,而且是一个额外的步骤——但只有一次

我放弃了,现在我们有了另一种方法。我们将第三方工具放在一个svn存储库(与源代码不同的存储库)中,并需要一个特定的层次结构和名称来表示该存储库相对于代码库的根所在的位置。通过这种方式,我们可以在构建后步骤或其他部分中自信地使用相对路径


我同意这是MS构建工具中的一个弱点

Scott,是的,我实际上使用这种方法,但是我正在寻找一种方法,开发人员可以将源代码下载到一台干净的机器上,然后构建它,而不需要做额外的“工作”。