2016-03-28 8 views
0

Visual Studio 2013/VC++では、静的にリンクされた実行可能ファイルに対して、太字継承されません)。私はvcxprojファイルを編集することはできません。自動生成され、直接編集は生成時に失われます。 >静的ライブラリですDependency.libを生成します -Visual Studioでは、vcxprojファイルを編集せずに継承されていないプロジェクトプロパティ値をオーバーライドする方法

  1. Dependency.vcxproj:

    詳細:

    私は2つのプロジェクトを含むVisual Studioソリューションを持っています。

  2. MyProg.vcxproj - > Dependency.libへのリンクとMYPROG.EXE
  3. これらの

を生成し、(これは、ビルドから生成されDependency.vcxprojは自動生成され、私はその世代を制御できません。私がそれを実行するたびにスクリプト)。私はそれは、O2最適化セットを持っており、またなしデバッグ情報の形式セットを持っていることがわかります。 (これらはどちらも太字であるため、明示的にオフにしていると仮定しています)。しかし、デバッグを可能にするために、私はこれらのプロパティを上書きしたいと私は私のソリューションの一部としてそれを構築していたときに/Ziを最適化無効デバッグ情報の形式を設定します。

私はプロジェクトの.propsファイルを使ってオーバーライドしようとしましたが、値はオーバーライドされません。プロパティをオーバーライドするためにプロパティシートを継承する必要があります。

vcxprojファイル自体を編集しなくても、すでに変更されているプロパティを上書きする方法はありますか?

答えて

1

libプロジェクトで実際に.propsファイルが使用されていることを確認する必要があります。つまり、プロジェクトに含める必要があります。 .propsで既に定義されているプロパティをオーバーライドする場合は、プロパティをオーバーライドするようにプロパティを設定した後に、この.propsをインクルードする必要があります。基本的に.propsはテキストの包含に似ています。

.userファイルを使用してプロパティをオーバーライドすることもできます(.userはすでに存在する場合は.vcxprojに生成されている可能性があります)。しかし、とにかく、.vcxprojファイルにリンカープロパティを再定義するファイルを含める方法を見つける必要があります。

通常、「デバッグ」と「リリース」の設定を使用して、デバッグを許可/禁止します。たぶんあなたのソリューションのための "デバッグ"設定を選択するだけです(これはツールバーのVisual Studioのコンボボックスにあります)。

これが当てはまらない場合、最も簡単な方法は、プロジェクトを生成するために使用するスクリプトを変更して、必要なプロジェクトを生成することです。

+0

しかし、vcxprojでオーバーライド設定を生成しないようにスクリプトを修正し、.propsファイルをインクルードし、この問題を再発させないでください。 – zeromus

関連する問題