Если компилятор отклоняет встраивание какой-либо функции-члена, которая встроена в тело класса или определяется как inline
функция вне тела класса, компилятор вставит скомпилированную версию функции в каждый файл .obj, который использует эту функцию. Обратите внимание, что это отличается от вставки скомпилированной версии каждой функции, объявленной в заголовке. Файл, о котором идет речь, должен вызывать эту (предположительно) встроенную функцию.
И да, компоновщик удалит дублирующиеся записи. Символы, сгенерированные в таблице символов для этих встроенных функций, имеют слабую связь. Сравните с функциями, которые не встроены: они имеют нормальную связь, и если одна из них реплицируется, у вас неопределенное поведение. Типичный ответ для компоновщика - пожаловаться, а затем умереть.