我遇到以下問題。我有一個共享庫,這只是一堆鏈接在一起的翻譯單元,所以當我編譯共享庫時,我不會得到任何鏈接器錯誤(即使我可能有未定義的引用)。GCC將共享庫鏈接到可執行文件
共享庫從一個可執行文件中動態加載,該文件也包含我的共享庫正在使用的導出(我的庫中使用的引用在運行時解析)。
主要問題是我想要未定義的引用警告,以便我可以靜態修復它們而不是等待應用程序崩潰。
我在某處讀到我可以將「-Wl, - no-undefined」傳遞給gcc,這樣我就可以得到這些錯誤,確實有效,但它也給了我可執行文件導出的所有未定義引用。我想過濾這些警告只是我的翻譯單位的範圍。
這可能嗎?如果沒有,我怎樣才能定義對一個共享庫導出的可執行文件的引用。
通常,未解決的引用會導致鏈接失敗。這不完全清楚你在做什麼。請在你的問題中加入[mcve]。 –