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还是静态库?静态库。