Я должен положить все файлы .o в библиотеку?

Я хочу создать библиотеку, которая позволит моим программам использовать один класс, назовем его A, у которого есть несколько аккуратных методов и т. Д. Однако этот класс основан на нескольких других (B и C) и включает в себя: их .hpp файлы в его .cpp файл.

Процесс сборки выглядит так:

g++ -c B.cpp
g++ -c C.cpp
g++ -c A.cpp

ar rvs A.a *.o

Таким образом, мои другие проекты теперь должны только файлы, чтобы включить мой класс, A.hpp а также A.a, Я правильно делаю статическую библиотеку? Стоит ли помещать только A.o в архив (библиотеку) (при этом возникают ошибки)?

Просто для справки, вот как компилируется программа, использующая класс A:

g++ test1.cpp A.a -o test1

Редактировать: Есть ли способ неявно сказать компоновщику, чтобы связать мою программу с A.a? Так же, как мне не нужно вручную связывать его с iostream …

0

Решение

Хорошо, как ты это делаешь сейчас. Поместите все объектные файлы в статическую библиотеку.

2

Другие решения

Других решений пока нет …