如何在visual studio中编写复杂链接的脚本(FIPS / Static Link Lib / VS.2008)

时间:2010-02-12 20:26:47

标签: visual-studio msbuild build openssl fips

问题

在继续允许开发人员通过属性GUI安排库的同时,构建复杂的fips链接到Visual Studio vcproj项目的正确方法是什么?

情况

我正在使用VS 2008并且有一些使用openssl静态链接的项目。到目前为止,链接很简单,但现在我正在切换到FIPS签名库,过程是这样的:

  • 将源代码编译为obj
  • 链接到exe
  • run exe将sha签名转储到stdout,该签名是为下一步捕获的
  • 重新编译预主设置定义到签名(我们使用正则表达式取出)
  • 重新链接申请

FIP提供了一些nmake和perl脚本来帮助处理,但我的团队习惯于在Visual Studio中工作,我希望尽可能保持他们的工作流程相似。

选项

  • 使用batch / perl / nmake文件的自定义链接步骤
  • 的msbuild
  • 其他

我尝试使用批处理文件和perl文件来编排链接,但是我很难捕获所有链接设置和库。我已经开始关注msbuild了,但我不清楚它对于c ++的VisualStudioProject有何反应。

我的问题是将数据从VisualStudio项目传输到自定义链接步骤。我想我可以强制链接转储数据,然后解析它并将其拉入perl或make脚本。 IDE中可用的变量似乎不包含我需要的所有数据。

请让我知道你为这种事情尝试了什么方法,以及那里有什么问题。谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

我想我正以太小的方式接近这个。 Visual Studio项目可以是生成的工件而不是项目信息的中心轨迹。我可以使用scons,cmake,nant,nmak,maven或其中一些技术来描述我的构建过程并将IDE环境生成为工件。

我的目标是:

  • 支持TDD,具有从源代码更改到编译到测试的快速而简单的经验
  • 支持开发人员熟悉的IDE体验
  • 以易于理解和可维护的方式执行复杂链接

这些都不是说项目信息的规范位置必须是vcprof文件。

我记得读过有关C ++的这种模式(它已经是我用于java的了)。我想我会看看其中的一些。

任何人都有使用声明项目文件或脚本文件到IDE环境的弹弓的经验吗?