我在使用特定工具鏈進行交叉編譯時(雖然我認爲這是一個適用於交叉編譯的一般問題),但我無法確認對rpath-link如何工作的理解。如何在交叉編譯中使用rpath-link?
當我看看構建庫和應用程序時,傳遞到編譯器和鏈接什麼標誌,我看到下面的傳遞給鏈接:
-Wl,-rpath-link,/home/Dev/env/sys/crosscompiletoolchain/armle-v7/lib/
所以這是一個路徑被嵌入到共享爲我的開發機器上的目標設備構建庫。這是有道理的,因爲在部署到設備之前,我會在開發機器上完成所有最終鏈接。當我最終部署到設備(即共享庫+應用程序)時,這些共享庫不會有無用的rpath-link?
構建的庫和應用程序似乎在目標上工作得很好,如果我不得不猜測我會說它是因爲應用程序具有由/ lib /作爲其中之一的設備操作系統提供的環境其默認庫搜索路徑(rpath-link僅指定要搜索的第一組目錄)。它是否正確?