.lib
soubory jako vstup linkeru
LINK přijímá standardní knihovny COFF a knihovny importu COFF, z nichž obě mají obvykle příponu .lib
. Standardní knihovny obsahují objekty a jsou vytvořeny nástrojem LIB. Knihovny importu obsahují informace o exportech v jiných programech a jsou vytvořeny pomocí link při vytváření programu, který obsahuje exporty nebo nástroj LIB. Informace o použití knihovny LIB k vytvoření standardních nebo importovaných knihoven naleznete v tématu Referenční informace k knihovně LIB. Podrobnosti o použití odkazu k vytvoření knihovny importu najdete v této /DLL
možnosti.
Knihovna se zadává jako odkaz jako argument názvu souboru nebo jako výchozí knihovna. FUNKCE LINK vyřeší externí odkazy tak, že nejprve vyhledá v knihovnách zadaných na příkazovém řádku, pak ve výchozích knihovnách zadaných pomocí /DEFAULTLIB
této možnosti a pak ve výchozích knihovnách pojmenovaných v .obj
souborech. Pokud je zadána cesta s názvem knihovny, funkce LINK vyhledá knihovnu v tomto adresáři. Pokud není zadána žádná cesta, funkce LINK vypadá jako první v adresáři, ze kterého je odkaz spuštěný, a potom v adresářích zadaných v LIB
proměnné prostředí.
Přidání .lib
souborů jako vstupu linkeru ve vývojovém prostředí
Otevřete dialogové okno Stránky vlastností projektu. Další informace naleznete v tématu Nastavení vlastností kompilátoru a sestavení.
Zvolte stránku vlastností vlastnosti linkeru>konfigurace.>
Upravte vlastnost Additional Dependencies pro přidání
.lib
souborů.Změny uložíte kliknutím na OK nebo Použít .
Programové přidání .lib
souborů jako vstupu linkeru
- Viz třída AdditionalDependencies.
Příklad
Následující ukázka ukazuje, jak sestavit a použít .lib
soubor.
Nejprve sestavte .lib
soubor:
// lib_link_input_1.cpp
// compile by using: cl /LD lib_link_input_1.cpp
__declspec(dllexport) int Test() {
return 213;
}
Pak tuto ukázku zkompilujte pomocí právě vytvořeného .lib
souboru:
// 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