Библиотека
Готовый код, который уже кто-то написал и
Программу запускают, а библиотеку подключают: она лежит в файле .lib или .dll, и программа берёт из неё готовые функции.
Внутри статической библиотеки (.lib) уже не исходный код, а скомпилированные
Библиотеки бывают двух видов:
- статическая (.lib) — её код вклеивается в программу при сборке, и отдельный файл потом не нужен;
- динамическая (.dll) — лежит рядом с программой и подгружается при запуске.
Библиотеку можно собрать и самому: например, движок — как библиотеку, а игру — как программу, которая её использует.
В CMake и то и другое —