21

#pragma comment(lib、 "libraryname")を使用するコードに出くわしました。

プロパティメニューからライブラリをリンクするだけではなく、なぜこのタイプの使用法なのですか?この使用法はどのような状況で求められますか?私はC++VisualStudio2010を使用しているWindowsを使用しています

このタイプの使用法を必要とする例を見るとよいでしょう。

4

3 に答える 3

33

ライブラリライターは#pragma comment(lib, ...)、パブリックヘッダー(.h)ファイルにコマンドを配置できます。この場合、クライアントはこのライブラリをリンカー依存関係リストに追加する必要はありません。プログラムにh-ファイルをインクルードすることにより、クライアントは必要なライブラリに自動的にリンクされます。

于 2012-10-10T14:12:53.027 に答える
23

古典的な例-ライブラリのさまざまなバージョンに対するリンク:

#if CURRENT_VERSION >= 10
     #pragma comment(lib, "thirdPartyLibV2.0.lib")
#else //version < 10
     #pragma comment(lib, "thirdPartyLibV1.0.lib")
#endif
于 2012-10-10T14:10:52.360 に答える
6

#ifdef..#endif必要なのは、関連付けられたライブラリのヘッダーファイルをインクルードするだけで、環境に基づいて適切なライブラリを条件付きで取り込むことができるという意味で含まれています。

新しいプロジェクトを最初から開始するときに、すべての人がMSVCプロジェクトを使用するわけではありません。単にそれを実行できるようにすること#includeは、適切に作成されたライブラリの兆候です。

于 2012-10-10T14:12:33.697 に答える