0

質問

開発者がプロ​​パティ GUI を介してライブラリを整理できるようにしながら、Visual Studio vcproj プロジェクトに複雑な fips リンクを構築する正しい方法は何ですか?

状況

私はVS 2008を使用しており、静的にリンクされたopensslを使用するプロジェクトがたくさんあります。これまでのところ、リンクは単純でしたが、今は FIPS 署名付きライブラリに切り替えており、プロセスは次のようになっています。

  • ソースを obj にコンパイルする
  • exeへのリンク
  • 次のステップのためにキャプチャされる sha 署名を stdout にダンプする exe を実行します。
  • プリメイン設定定義を署名に再コンパイルします(正規表現を使用して引き出しました)
  • アプリケーションの再リンク

FIPs は、プロセスを支援するためにいくつかの nmake および perl スクリプトを提供していますが、私のチームは Visual Studio での作業に慣れており、ワークフローをできるだけ同じに保ちたいと考えています。

オプション

  • バッチ/perl/nmake ファイルを使用したカスタム リンク ステップ
  • msbuild
  • マクロ
  • 他の

バッチ ファイルと perl ファイルを使用してリンクを調整しようとしましたが、すべてのリンク設定とライブラリをキャプチャするのに苦労しています。msbuild を調べ始めましたが、c++ の VisualStudioProject とどのように反応するかは不明です。

私の問題は、VisualStudio プロジェクトからカスタム リンク ステップへのデータの転送です。リンクにデータを強制的にダンプさせ、それを解析して perl または make スクリプトに取り込むことができると思います。IDE 内で使用できる変数が、必要なすべてのデータを保持していないようです。

この種のことに対してあなたが試みたアプローチと、そこにある落とし穴を教えてください。助けてくれてありがとう

4

1 に答える 1

0

私はこれに小さすぎる方法でアプローチしていると思います。Visual Studio プロジェクトは、プロジェクト情報の中心的な場所ではなく、作成されたアーティファクトである可能性があります。scons、cmake、nant、nmak、maven、またはこれらのテクノロジの一部を使用して、ビルド プロセスを記述し、IDE 環境をアーティファクトとして生成できます。

したがって、私の目標は次のとおりです。

  • ソースの変更からコンパイル、テストまで、すばやく簡単に TDD をサポート
  • 開発者が使い慣れた IDE エクスペリエンスをサポートする
  • 複雑なリンクを簡単に理解できる保守可能な方法で実行する

これらのいずれも、プロジェクト情報の正規の場所が vcprof ファイルである必要があるとは述べていません。

C++ のこのパターンについて読んだことを思い出します (すでに Java で使用しているものです)。そのうちいくつか見てみようと思います。

宣言型プロジェクト ファイルまたはスクリプト ファイルから IDE 環境へのスリングショットの経験がある人はいますか?

于 2010-02-13T16:09:00.883 に答える