2

ここに、4 つのプロジェクトを含むソリューション ファイルがあります。

  • プロジェクト Aは、 .libにコンパイルされるライブラリです。
  • プロジェクト Bは.exeになるプログラムです。

Project AをProject Bの依存関係として設定し、含めました

#pragma comment(lib,"terrain.lib")

ライブラリを使用するプロジェクトBのファイルに。

両方のプロジェクトが同じDebug / Releaseフォルダーにコンパイルされているにもかかわらず、MSVCC が教えてくれます

1>LINK : fatal error LNK1104: File "terrain.lib" could not be opened.
// <freely translated from German, could mean "not found">

これ:

#pragma comment(lib,"../Debug/terrain.lib")

動作しますが、リリースのために変更する必要があります。

#ifdefを使用してこれを行う唯一の有効な方法はありますか?

4

1 に答える 1

1

デバッグ構成とリリース構成の両方について、プロジェクト設定 (リンカー設定の「追加ライブラリ ディレクトリ」 - 少なくとも vc2008) でライブラリ パスを指定する必要があります。${ConfigurationName} や ${SolutionDir} などのマクロを使用できるため、プロジェクト内のパスを指定するのは簡単です。

また、代わりにリンカー設定を使用してライブラリを含めることをお勧めします#pragma comment

于 2012-04-28T21:13:17.763 に答える