Κατά τη σύνδεση τα ανεξάρτητα μεταγλωττισμένα τμήματα του προγράμματος
συνδέονται μεταξύ τους και με τις βιβλιοθήκες της γλώσσας για να
δημιουργηθεί το τελικό εκτελέσιμο πρόγραμμα.
Συχνά οι βιβλιοθήκες που χρησιμοποιούνται είναι κοινές ανάμεσα σε
προγράμματα και φορτώνονται δυναμικά κατά το στάδιο εκτέλεσης του
προγράμματος (Unix shared libraries, Windows DLLs).
Κατά τη φάση της σύνδεσης γίνεται έλεγχος πως όλες οι συναρτήσεις
και μεταβλητές που χρησιμοποιούνται έχουν οριστεί και, για ορισμένες
γλώσσες όπως η C++, πως οι τύποι των συμβόλων που έχουν οριστεί σε
διαφορετικά αρχεία είναι συμβατοί μεταξύ τους.
Ορισμένες γλώσσες όπως η Java υλοποιούν μεγάλο μέρος της σύνδεσης κατά
τη φόρτωση του προγράμματος στη μνήμη για εκτέλεση.