Что-то говорит мне, что ваш вывод компоновщика не совсем правильный.Похоже, что a
и b
пытаются экспортировать классы.
Кроме того, эта строка говорит нам, что b
на самом деле не может видеть некоторый символ (возможно, конструктор класса по умолчанию) для библиотеки (класса) a
:
b.lib(b.obj) : error LNK2019: unresolved external symbol "int __cdecl a(void)" (?a@@YAHXZ) referenced in function "int __cdecl b(void)" (?b@@YAHXZ)
На самом деле, ваш пример CMake никогда не связывает a
с b
, и ваши первоначальные вопросы говорят, что b
связан с a
.Если вы имеете в виду то, что сказали в своем вопросе, ваш компоновщик показывает логическую ошибку.