[英]How to get linker errors at library compile-time in Visual Studio?
考虑一个名为Exe
的可执行文件,它依赖于一个名为Lib1
的静态库,而Lib1
依赖于另一个名为Lib2
静态库,因此:
Exe -> Lib1 -> Lib2 (where '->' marks dependency)
假设我从Lib1
的其他库包含物中删除了Lib2
。 以我的经验, Lib1
仍会编译,但是当我尝试编译Exe
(链接到Lib1
)时,将发生链接器错误,指出Lib1
中缺少Lib2
符号。
有没有一种方法可以在编译Lib1
时“检测”未解析的符号,而无Lib1
Exe
来获取Lib1
未解析的符号的通知? 如果没有,为什么?
假设您正在谈论静态库,那么就没有办法这样做。 静态库不相互链接。 链接器会依次在链接器命令行上列出的所有静态库中的可执行文件中查找找不到的符号。 如果它在静态库中找到未知符号,则会在其他静态库中查找,但是该过程由您链接的可执行文件(或DLL)驱动。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.