Вы должны включить заголовочные файлы, чтобы компилятор понимал объявления различных типов и функций, которые предоставляются / используются библиотекой.
Библиотечные файлы (lib или dll) содержат объектный код длякод, использующий библиотеку, ссылается на.
для библиотеки lib. Связь является статической и происходит во время компиляции. Использование статической библиотеки (lib) приводит к увеличению размера исполняемого файла, поскольку вся библиотека связана сваша программа.
для dll, связь является динамической, и вызовы оцениваются во время выполнения. При использовании dll размер вашего исполняемого файла не увеличивается, потому что dll связаны во время выполнения, и вам обычно нужно разместить их по предопределенным путямтак что они могут быть связаны во время выполнения.
Преимущество статической библиотеки над dll заключается в том, что исполняемый файл, использующий lib, является автономным, в то время как в случае dll dll должен присутствовать по заранее заданному пути во время выполненияисполняемый файл, который его использует.