【问题标题】:How do I script a complex link in visual studio (FIPS / Static Link Lib / VS.2008)如何在 Visual Studio 中编写复杂链接脚本(FIPS / 静态链接库 / VS.2008)
【发布时间】:2010-02-12 20:26:47
【问题描述】:

问题

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

情况

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

  • 编译源码为obj
  • exe链接
  • 运行 exe,将 sha 签名转储到标准输出,为下一步捕获该标准输出
  • 重新编译预主设置定义到签名(我们使用正则表达式提取)
  • 重新链接应用程序

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

选项

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

我尝试使用批处理文件和 perl 文件来编排链接,但在捕获所有链接设置和库时遇到了困难。我已经开始研究 msbuild,但我不清楚它与 VisualStudioProject for c++ 的反应如何。

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

请让我知道您为此类事情尝试了哪些方法以及存在哪些问题。感谢您的帮助

【问题讨论】:

    标签: visual-studio msbuild build openssl fips


    【解决方案1】:

    我认为我处理这个问题的方式太小了。 Visual Studio 项目可以是生成的工件,而不是项目信息的中心位置。我可以使用 scons、cmake、nant、nmak、maven 或其中一些技术来描述我的构建过程并将 IDE 环境生成为工件。

    我的目标是:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-20
      • 2011-06-15
      • 1970-01-01
      • 2012-09-30
      • 1970-01-01
      • 2013-10-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多