C++ 如何在VisualStudio中的库编译时获取链接器错误?

C++ 如何在VisualStudio中的库编译时获取链接器错误?,c++,visual-studio,linker,shared-libraries,C++,Visual Studio,Linker,Shared Libraries,考虑一个名为Exe的可执行文件,它依赖于名为Lib1的静态库,Lib1依赖于另一个名为Lib2的静态库,因此: Exe -> Lib1 -> Lib2 (where '->' marks dependency) 假设我从Lib1的附加库中删除了Lib2。根据我的经验,Lib1仍将编译,但当我尝试编译Exe(链接到Lib1)时,会出现链接器错误,说明Lib1中缺少Lib2符号 在编译Lib1时,是否有一种方法可以“检测”未解析的符号,而无需借助编译Exe来获得Lib1中未解析

考虑一个名为
Exe
的可执行文件,它依赖于名为
Lib1
的静态库,
Lib1
依赖于另一个名为
Lib2
的静态库,因此:

Exe -> Lib1 -> Lib2  (where '->' marks dependency)
假设我从
Lib1
的附加库中删除了
Lib2
。根据我的经验,
Lib1
仍将编译,但当我尝试编译
Exe
(链接到
Lib1
)时,会出现链接器错误,说明
Lib1
中缺少
Lib2
符号


在编译
Lib1
时,是否有一种方法可以“检测”未解析的符号,而无需借助编译
Exe
来获得
Lib1
中未解析符号的通知?如果不是,原因是什么?

假设您谈论的是静态库,那么没有办法做到这一点。静态库不会相互链接。链接器依次在链接器命令行上列出的所有静态库中查找在可执行文件中找不到的符号。如果它在静态库中发现未知符号,则会在其他静态库中查找,但该进程是由您正在链接的可执行文件(或DLL)驱动的。

lib1
DLL还是静态库?静态库。