Разница между ошибкой неопределённой ссылки и неразрешённым внешним символом заключается в том, что каждая из них указывает на разные проблемы во время компоновки. 12
Ошибка неопределённой ссылки возникает, когда компоновщик не может найти определение чего-либо, например, если код ссылается на символ, но он никогда не был определён. 1
Неразрешённый внешний символ означает, что в коде используется сущность, для которой есть описание (обычно в заголовочном файле), но линкер не может найти, где сама сущность (класс или функция) с таким описанием определена. 3
Таким образом, ошибка неопределённой ссылки указывает на проблему с определением символа, а неразрешённый внешний символ — на проблему с поиском определения внешнего символа в связанных файлах. 1