2
有大量在線文章以尖銳的語氣宣佈使用LD_LIBRARY_PATH是一個壞主意,並且必須使用-R選項設置庫搜索路徑。大多數文章也同樣提及Solaris。麻煩的是,在Linux上,這不適用於g ++。使用-R選項的庫搜索路徑
g++: unrecognized option '-R'
現在呢?
謝謝!
有大量在線文章以尖銳的語氣宣佈使用LD_LIBRARY_PATH是一個壞主意,並且必須使用-R選項設置庫搜索路徑。大多數文章也同樣提及Solaris。麻煩的是,在Linux上,這不適用於g ++。使用-R選項的庫搜索路徑
g++: unrecognized option '-R'
現在呢?
謝謝!
您可以使用-Wl,-rpath=/your/rpath
:
$ g++ -o t t.cpp -Wl,-rpath=/my/lib/dir -lwhatever
$ readelf -a t|grep RPATH
0x000000000000000f (RPATH) Library rpath: [/my/lib/dir]
很好,謝謝!我剛剛嘗試過,並意識到問題進一步深入。我想構建一個我可以發佈的應用程序,而不是讓最終用戶設置運行時搜索路徑。如果我這樣做,那麼整個事情只有在從特定位置調用構建的應用程序時才起作用。相對運行時搜索路徑從其他目錄無效。當然,我不知道絕對搜索路徑是什麼。理想的情況是靜態編譯,但在與libstdC++鏈接時似乎是個問題。感謝您及時的回覆。 – dgorur 2011-04-14 19:23:23