У меня есть динамическая библиотека A.dll, которая используется B.dll. Я использую B.dll в исполняемом файле C.exe.
level 0: A.dll
level 1: B.dll
level 2: C.exe
Я получаю сообщение об ошибке компоновщика в Visual Studio, в котором говорится, что компоновщик не может найти библиотеку импорта A.lib, хотя мой исполняемый файл не использует напрямую A.dll. Почему это? Я предположил, что информация в A.lib будет скомпилирована в B.dll





Без кода я подозреваю, что общедоступные заголовки для B включают заголовок для A, а заголовок A имеет комментарий #pragma (lib, "a.lib"). Для описываемого вами шаблона необходимо, чтобы B зависел только от A в своем частном интерфейсе, а не открывал что-либо напрямую от A.