繁体   English   中英

如何在Visual Studio中的库编译时获取链接器错误?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM