Czy biblioteka (najprostsza, taka tylko, żeby zawierała funkcje, do których mógłbym się odnosić bez definiowania ich w kodzie) musi mieć rozszerzenie .dll?
Nie, możesz stworzyć bibliotekę linkowaną statycznie.
Słyszałem, że wystarczy zwykły plik .c (ale już nie .cpp).
Przecież są biblioteki C++.
Najprościej stworzyć bibliotekę linkowaną statycznie:
W swoim IDE utwórz projekt dla Static library.
W pliku .h napisz deklarcję funkcji.
W pliku .cpp napisz definicję funkcji.
Skompiluj.
W projekcie który będzie używać tej biblioteki użyj nagłówka który napisałeś i dodaj bibliotekę(.a lub .lib), gotowe.