.lib
files as linker input
LINK accepts COFF standard libraries and COFF import libraries, both of which usually have the extension .lib
. Standard libraries contain objects and are created by the LIB tool. Import libraries contain information about exports in other programs and are created either by LINK when it builds a program that contains exports or by the LIB tool. For information on using LIB to create standard or import libraries, see LIB Reference. For details on using LINK to create an import library, see the /DLL
option.
A library is specified to LINK as either a file name argument or a default library. LINK resolves external references by searching first in libraries specified on the command line, then in default libraries specified with the /DEFAULTLIB
option, and then in default libraries named in .obj
files. If a path is specified with the library name, LINK looks for the library in that directory. If no path is specified, LINK looks first in the directory that LINK is running from, and then in any directories specified in the LIB
environment variable.
To add .lib
files as linker input in the development environment
Open the project's Property Pages dialog box. For more information, see Set compiler and build properties.
Choose the Configuration Properties > Linker > Input property page.
Modify the Additional Dependencies property to add the
.lib
files.Choose OK or Apply to save your changes.
To programmatically add .lib
files as linker input
Example
The following sample shows how to build and use a .lib
file.
First, build the .lib
file:
// lib_link_input_1.cpp
// compile by using: cl /LD lib_link_input_1.cpp
__declspec(dllexport) int Test() {
return 213;
}
And then, compile this sample by using the .lib
file you just created:
// lib_link_input_2.cpp
// compile by using: cl /EHsc lib_link_input_1.lib lib_link_input_2.cpp
__declspec(dllimport) int Test();
#include <iostream>
int main() {
std::cout << Test() << std::endl;
}
213