簡體   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