0

DLL 用のビジュアル C++ プロジェクトとそのセットアップ プロジェクトがあります。インストーラーで、プロジェクトのコンテンツ ファイルを追加しました。

デバッグまたはリリースをコンパイルしているかどうかに応じて、ファイルをコンテンツ ファイルとして追加する方法はありますか? デバッグでコンパイルする場合は boost_date_time-vc100-mt-gd-1_51.dll を含め、リリースでコンパイルする場合は boost_date_time-vc100-mt-1_51.dll を含めます。

私の追加のdepsは次のようになります

Shell32.lib;libzmq.lib;log4cxx.lib;boost_date_time-vc100-mt-gd-1_51.lib;...

追加のライブラリ ディレクトリの下に、これらすべての .lib ファイルへのパスを追加しました。これには、それぞれの .dll ファイルも含まれています。

私は成功せずに次のことを試しました...

  1. 正しい dll ファイルを OutDir にコピーし、このカスタム ビルド ステップの出力を dll ファイルに設定する、ビルド前に実行するカスタム ビルド ステップを追加しました。

  2. vcxproj ファイルを手動で編集して、条件付きでコンテンツ ファイルを含めます。構成がリリース モードの場合、非デバッグ バージョンをデプロイ コンテンツとして設定し、デバッグ バージョンを false に設定し、デバッグ モードではその逆を行います。これは、次のように見えました。

    <ItemGroup Condition="'$(Configuration)'=='Release'">

    <None Include="boost_date_time-vc100-mt-1_51.dll ">

    <DeploymentContent>true</DeploymentContent>....

    </None></ItemGroup

ただし、これらはどちらも機能しませんでした。2 番目のオプションは、プロジェクトのビルド方法に関係なく、常にデフォルトでデバッグ モードに設定されているように見えました。

4

1 に答える 1

1

依存関係を追加するときは、1 つの構成またはすべての構成に追加できます。

ここに画像の説明を入力

[この写真は VS 2012 のものですが、2010 と 2008 はほとんど同じに見えます。]

そのため、変更する構成を左上で選択し、ライブラリをadditional dependencies. ここで追加するの.libは、dll 自体ではなく、DLL に関連付けられたファイルになることに注意してください (.lib ファイルとリンクするため、コンパイラは実行可能ファイルを DLL に依存させます)。

于 2012-12-18T22:50:08.970 に答える