リンカ入力としての .lib ファイル
更新 : 2007 年 11 月
LINK では、COFF 形式の標準ライブラリもインポート ライブラリもリンクできます。通常、この 2 つのライブラリの拡張子は、どちらも .lib になります。標準ライブラリは、オブジェクトから構成され、LIB ツールで作成されたライブラリです。インポート ライブラリは、ほかのプログラムのエクスポート シンボルに関する情報が入っているライブラリです。このライブラリは、シンボルをエクスポートするプログラムのビルド時に LINK によって作成されるか、LIB ツールによって作成されます。LIB ツールを使って標準ライブラリやインポート ライブラリを作成する方法については、「LIB リファレンス」を参照してください。LINK を使ってインポート ライブラリを作成する方法については、「/DLL (DLL のビルド)」を参照してください。
入力ライブラリとしては、コマンド ラインで名前が指定されたライブラリと既定のライブラリがあります。LINK は外部参照を解決するときに、まずコマンド ラインで指定されたライブラリを検索し、次に /DEFAULTLIB オプションで指定された既定のライブラリを検索します。その後、.obj ファイルで指定された既定のライブラリを検索します。ライブラリ名と共にパスが指定されている場合は、指定したディレクトリでライブラリを検索します。パスが指定されていない場合は、まず LINK が起動したディレクトリを検索し、次に環境変数 LIB で指定されたディレクトリを検索します。
開発環境で .lib ファイルをリンカ入力として追加するには
プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。詳細については、「Visual C++ プロジェクトのプロパティの設定」を参照してください。
[リンカ] フォルダをクリックします。
[入力] プロパティ ページをクリックします。
[追加の依存ファイル] プロパティを変更します。
プログラムによって .lib ファイルをリンカ入力として追加するには
- AdditionalDependencies を参照してください。
使用例
.lib ファイルのビルド方法および使用方法を次の例に示します。
// lib_link_input_1.cpp
// compile with: /LD
__declspec(dllexport) int Test() {
return 213;
}
その後、次を実行します。
// lib_link_input_2.cpp
// compile with: /EHsc lib_link_input_1.lib
__declspec(dllimport) int Test();
#include <iostream>
int main() {
std::cout << Test() << std::endl;
}
213