Na konec příkazu byste měli umístit většinu nezávislých knihoven, aby kompilátor mohl správně najít symbol a definice:
c++ -L/usr/lib/x86_64-linux-gnu -o tom tom.o Block.o IPC.o \
ConnectMxctl.o CI_Metadata.o Log.o \
-lmysqlclient -lpthread -lz -lm -lrt -ldl
Tímto způsobem bude kompilátor pokračovat v hledání nedefinovaných symbolů z dalších propojovacích souborů. Například pokud IPO.o
používá symbol (typ/třída/struktura/funkce atd.) definovaný v CI_Metadata.o
, kompilátor to může najít, protože vložíte CI_Metadata.o
po IPO.o
. Většina knihoven je nezávislých, proto jsou na konci příkazu kompilovat/propojit.