web-dev-qa-db-ja.com

C ++ Visual Studio:プラグマコメントを使用したリンク

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

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

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

19
user1612986

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

28
Alex F

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

#if CURRENT_VERSION >= 10
     #pragma comment(lib, "thirdPartyLibV2.0.lib")
#else //version < 10
     #pragma comment(lib, "thirdPartyLibV1.0.lib")
#endif
22
Luchian Grigore

必要なのは、関連するライブラリのヘッダーファイルを自動的に取り込むだけであるという意味で含まれています。#ifdef..#endif魔法を使って、環境に基づいて適切なライブラリを条件付きで取り込む。

新しいプロジェクトを最初から開始するときに、誰もがMSVCプロジェクトを使用するわけではなく、単に#includeそしてそれを機能させることは、よく書かれたライブラリのしるしです。

5
Blindy