天天看點

gcc有個-rpath選項

    我今天在讀某大牛的技術部落格的時候知道,gcc有個rpath選項。

    幹什麼用的呢?

    我以前寫程式,想把程式中的某部分寫成動态庫的形式。但是在調用此動态庫的時候,程式會在系統目錄中找。那麼我隻有兩種方式解決:

    1、把我寫好的動态庫放到系統目錄裡。缺點:1a、系統目錄被搞的很混亂。1b、在别人電腦上部署會很麻煩。

    2、指定LD_LIBRARY_PATH環境變量。缺點:不能直接啟動應用程式而需要外部shell啟動。

    今天,我了解到,gcc在連結的時候有個rpath選項。它可以把動态庫的路徑直接寫到elf檔案中去。這樣可以将rpath寫成相對路徑。友善部署。

    參考文章:http://www.xxlinux.com/linux/article/development/soft/20070925/9913.html