[解決済み] C++: pragma comment(lib, "XXX") は、実際に "XXX" に対して何をするのですか?
2022-02-07 12:19:28
質問
私のバックグラウンドはC#ですが、レガシー(MS)C++をいくつかメンテナンスする必要があります。そのコードベースの中で、私はつまずきました。
#pragma comment(lib, "OtherLib700.lib")
ここで、700は何らかのバージョン管理です。また、libは同名のDLLです。
私は最初、プログラムがDLLに依存しているのではと思いましたが、システムからそれを取り除いた後、プログラムはまだ動作します。しかし、そのDLLにはより新しいバージョンが存在し、OtherLib900という名前になっています...。
プログラムが lib のコードを「インクルード」して、外部 DLL に依存しないようにしたようです。(あるいは、プログラムが「自動的に」新しいDLLを使用しているのか...)
どちらが正しいのでしょうか?その「仮定」をさらに確認する方法はありますか?
解決方法は?
このプラグマがある場合、プログラムはライブラリを探します。
OtherLib700.lib
. それがインポートライブラリであれば、プログラムがロードされたとき、windowsは次のものを探します。
OtherLib700.dll
をパスの中に入れてください。しかし
OtherLib900.dll
を実行中に見つける必要があります。
dll
を別のフォルダにコピーします。これは、以下のように仮定しています。
OtherLib700.lib
はインポートライブラリであり、スタティックライブラリではありません。もしOtherLib700.libがスタティック・ライブラリであれば、それだけで十分なのです。
関連
-
[解決済み】coutはstdのメンバではない
-
[解決済み】C++エラー:の初期化に一致するコンストラクタがありません。
-
[解決済み】デバッグアサーションに失敗しました
-
[解決済み] explicit キーワードの意味は?
-
[解決済み] C++11では、標準化されたメモリモデルが導入されました。その意味するところは?そして、C++プログラミングにどのような影響を与えるのでしょうか?
-
[解決済み] C++11のT&&(ダブルアンパサンド)の意味とは?
-
[解決済み] ポインタの「デリファレンス」とはどういう意味ですか?
-
[解決済み] int argc, char *argv[] とはどういう意味ですか?
-
[解決済み】共有オブジェクト(.so)、静的ライブラリ(.a)、DLL(.so)の違い?)
-
[解決済み] pragma comment "とは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C++ 非推奨の文字列定数から「char*」への変換について
-
[解決済み] error: 'ostream' does not name a type.
-
[解決済み】変数 '' を抽象型 '' と宣言できない。
-
[解決済み】文字列関数で'char const*'のインスタンスを投げた後に呼び出されるterminate [閉店].
-
[解決済み】IntelliSense:オブジェクトに、メンバー関数と互換性のない型修飾子がある
-
[解決済み】「Expected '(' for function-style cast or type construction」エラーの意味とは?
-
[解決済み】「std::operator」で「operator<<」にマッチするものがない。
-
[解決済み】エラー:不完全な型へのメンバーアクセス:前方宣言の
-
[解決済み】警告 - 符号付き整数式と符号なし整数式の比較
-
[解決済み] スタックアロケーションにより初期化されていない値が作成された