.lib
файлы в качестве входных данных компоновщика
LINK принимает стандартные библиотеки COFF и библиотеки импорта COFF, оба из которых обычно имеют расширение .lib
. Стандартные библиотеки содержат объекты и создаются средством LIB. Библиотеки импорта содержат сведения о экспорте в других программах и создаются с помощью LINK при сборке программы, содержащей экспорт или средство LIB. Сведения об использовании LIB для создания стандартных библиотек или импорта см. в справочнике ПО LIB. Дополнительные сведения об использовании LINK для создания библиотеки импорта см. в параметре /DLL
.
Библиотека указывается в качестве аргумента имени файла или библиотеки по умолчанию. LINK разрешает внешние ссылки, сначала выполняя поиск в библиотеках, указанных в командной строке, а затем в библиотеках по умолчанию, указанных параметром /DEFAULTLIB
, а затем в библиотеках по умолчанию с именем в .obj
файлах. Если путь указан с именем библиотеки, LINK ищет библиотеку в этом каталоге. Если путь не указан, LINK сначала выглядит в каталоге, из которой выполняется LINK, а затем в любых каталогах, указанных в переменной LIB
среды.
Добавление .lib
файлов в качестве входных данных компоновщика в среде разработки
Откройте диалоговое окно Страницы свойств проекта. Дополнительные сведения см. в разделе Set компилятора и свойств сборки.
Выберите страницу свойств>компоновщика>конфигурации Input.
Измените свойство "Дополнительные зависимости", чтобы добавить
.lib
файлы.Нажмите кнопку "ОК" или "Применить", чтобы сохранить изменения.
Добавление файлов программным способом .lib
в качестве входных данных компоновщика
- См. раздел AdditionalDependencies.
Пример
В следующем примере показано, как создать и использовать .lib
файл.
Сначала создайте .lib
файл:
// lib_link_input_1.cpp
// compile by using: cl /LD lib_link_input_1.cpp
__declspec(dllexport) int Test() {
return 213;
}
Затем скомпилируйте этот пример с помощью только что созданного .lib
файла:
// 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