[英]Can I ask VC++ linker to ignore unresolved externals?
我正在嘗試使用VC ++構建一個非常復雜的開源項目。 該項目由數十個庫和一個可執行文件組成,具體取決於這些庫。
由於某些原因,VC ++鏈接器不希望在其中一個庫中看到大約40個函數,並且每個庫都報告“未解析的外部引用”,所以我無法鏈接。 我不想浪費時間解決問題 - 這些功能可能永遠不會被調用。
我想讓鏈接器鏈接它看到的內容並插入一些合理的錯誤處理(比如報告錯誤並終止程序)而不是丟失函數。 我怎樣才能做到這一點?
您可以使用/FORCE:UNRESOLVED
鏈接器選項。
該文檔包含相當低調的警告:
使用此選項創建的文件可能無法按預期運行。
在實踐中,不會有錯誤處理 - 只是崩潰。
如果真正從未調用過函數,則為庫創建實際庫(.lib文件)。 然后鏈接器將僅從庫中提取所需內容。
鏈接器的工作是解析所有引用,所以我認為你不會讓它插入錯誤處理代碼。
PS我要檢查的第一件事是看看C函數是否被編譯為C ++,導致缺少符號。
如果它們從未被調用過,請從項目中刪除引用。 如果他們被召喚,那么解決該死的問題。 這里沒有其他選擇。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.