【发布时间】:2011-04-14 19:12:42
【问题描述】:
网上有大量文章以刺耳的语气宣称使用 LD_LIBRARY_PATH 是一个坏主意,并且必须使用 -R 选项设置库搜索路径。大多数上述文章也同时提到了 Solaris。问题是,在 Linux 上,这不适用于 g++。
g++: unrecognized option '-R'
现在呢?
谢谢!
【问题讨论】:
网上有大量文章以刺耳的语气宣称使用 LD_LIBRARY_PATH 是一个坏主意,并且必须使用 -R 选项设置库搜索路径。大多数上述文章也同时提到了 Solaris。问题是,在 Linux 上,这不适用于 g++。
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]
【讨论】: