Вы можете создать файл .a
, используя утилиту ar
, например:
ar crf lib/libHeader.a header.o
lib
- это каталог, содержащий все ваши библиотеки. Хорошей практикой является организация вашего кода таким образом и разделение кода и объектных файлов. Наличие всего в одном каталоге обычно выглядит ужасно. Приведенная выше строка создает libHeader.a
в каталоге lib
. Итак, в вашем текущем каталоге выполните:
mkdir lib
Затем выполните указанную выше команду ar
.
При связывании всех библиотек вы можете сделать это так:
g++ test.o -L./lib -lHeader -o test
Флаг -L
получит g++
для добавления каталога lib/
в путь. Таким образом, g++
знает, какой каталог искать при поиске libHeader
. -llibHeader
отмечает конкретную библиотеку для связи.
где test.o создается так:
g++ -c test.cpp -o test.o