2009-03-19 5 views
2

私は5年前にVC++ 6.0で書かれたプログラムを維持しようとしています。私たちの '共通の'ライブラリを使用しています。私が持っている問題は、[ライブラリファイル]の[ディレクトリ]が[common/debug]に設定されているか[common/release]に設定されているかに応じて、これらのライブラリのデバッグバージョン、ツール] - > [オプション]を選択します。VC++ 6.0で自動的にデバッグ/リリースライブラリとリンクする方法はありますか?

デバッグバージョンをビルドするときに[common \ debug \ common.lib]に、リリースバージョンをビルドするときに[common \ release \ common.lib]にリンクするにはどうすればよいですか?ライブラリディレクトリに両方のパスがある場合、最初に見つかったパスにリンクするように見えます。

答えて

0

[追加の依存関係]フィールドにリンクするライブラリの完全パスを指定できます。これは、デバッグおよびリリースビルドに異なる値を設定できます。 > [リンカ] - - > [入力] - [プロジェクトのプロパティ]で

1

> [追加の依存]あなたはこのように、$(ConfigurationName)プレースホルダを使用することができますで

c:\common\$(ConfigurationName)\common.lib 

c:\common\Debug\common.lib 

とリリースでそれが変更されます:

c:\common\Release\common.lib 
デバッグ構成これは、に変更されます
+0

申し訳ありませんが、これはナンセンスである。私はVC++ 6.0の部分を逃しました上記のVS2008用ですが、私はVC6がこのようなプレースホルダを許可しないと思います。私はリチャードの答えに行くでしょう。 – demoncodemonkey

1

ライブラリディレクトリに両方のパスがある場合、最初に見つかったパスにリンクしているようです。

デバッグ設定のデバッグフォルダとリリース設定のリリースフォルダを追加するだけです。設定等を結ぶ

ほぼすべてのコンパイラは、設定ごとです、私は右のテキストを思い出した場合、デバッグとリリースが異なる場合(プロジェクトのプロパティ)が(「すべての構成」にブランクとして設定が表示されます。

0

ソリューション私を見つけた私はTools->Optionsから共通ライブラリパスを削除...リトル・リチャードの&「1800情報」のよう

である。ここでパスはMSVS VC++ 6.0で実行されているすべてのプロジェクトのすべての構成に対してグローバルです。

次に、適切なライブラリをProject->Settingsに設定してください。 Henseのデバッグ構成はD:\VSS\Common\Debug\Common.lib、リリース構成はD:\VSS\Common\Release\Common.libです。これはうまくいくようですが、初めての警告はありません!

私は正しい方向であると思われる点を指摘するためのすべての提案に感謝します。

--- Alistair。代わりに含めるフォルダと私は構成に応じてライブラリを含めるために使用するすべての最善の方法でパスを指定する

3

は、#pragma

を使用して、一度これを試している、それは

のifdef非常に便利です_DEBUG

プラグマコメント(lib、 ".. \ DllTest \ Debug \ DllTest。LIB ")

プラグマコメント(libに、" .. \ DllTest \リリース\ DllTest.lib ")

endifの

関連する問題