Какие команды нужно прописать в командном окне (терминале), чтобы получить из .cpp файл статической библиотеки .lib

Во всех источниках рассказывается как это делать через Visual Studio, а я хочу понять как это пошагово работает -- через терминал. Использую компилятор g++. Помогите разобраться пожалуйста)


Ответы (1 шт):

Автор решения: HolyBlackCat

GCC использует для статических библиотек расширение .a, не .lib.

  1. Компилируете .cpp-файлы в объектные файлы .o командой g++ -c 1.cpp (получится 1.o).

  2. Объединяете несколько объектных файлов в .a командой ar crs libX.a 1.o 2.o.

Имя лучше начинать с lib..., потому что GCC при линковке (флагом -l...) подставляет этот префикс автоматически.

Перед вызовом ar я бы удалял старый .a-файл. Если этого не сделать и удалить/переименовать какие-то объектники, они не удалятся из .a и будет конфуз.

→ Ссылка