Как правило, вы создаете динамическую или статическую библиотеку для определений, найденных в файлах cpp - это экспортированные определения объявлений в разделяемых вами заголовках.
, затем вы связываете свое приложение / исполняемый файлв эту библиотеку.
во время компоновки компоновщик найдет символы, на которые ссылается приложение, в созданной вами статической / динамической библиотеке.если вы все правильно настроили и настроили, ошибок компоновщика не будет.