A minimal example for creating, compiling and using a static library in C++.
// test.h
#pragma once
int add(int a, int b);
int mult(int a, int b);
// test.cc
int add(int a, int b){ return a+b; }
int mult(int a, int b){ return a*b; }
$ g++ -o test.o -c test.cc
$ ar -q libtest.a test.o
ar: creating archive libtest.a
// main.cc
#include <iostream>
#include "test.h"
int main()
{
std::cout << "1 + 3 = " << add(1, 3) << std::endl;
std::cout << "1 * 3 = " << mult(1, 3) << std::endl;
}
$ g++ -o main libtest.a main.cc
$ ./main
1 + 3 = 4
1 * 3 = 3