(一)
GOOGLE: gcc compile time search lib path environment;
http://xahlee.info/UnixResource_dir/_/ldpath.html 文章说:
很早以前:LD_LIBRARY_PATH 可以作为linker的搜索路径 在 -L 参数 之后被搜索!
现在:a) LD_LIBRARY_PATH不被作为linker的搜索路径, 而引入 LD_RUN_PATH 来实现linker搜索环境变量;
b) Nowadays you specify the run-time path for an executable at link stage with the 「-R」 (or sometimes 「-rpath」) flag to “ld”.
gcc 参数 -R 和 -rpath 等效。
下面贴子中的作者,估计就是用到了支持LD_LIBRARY_PATH作为linker搜索路径的版本。
http://stackoverflow.com/questions/1904990/what-is-the-difference-between-ld-library-path-and-l-at-link-time
我机器上的linker就不支持LD_LIBRARY_PATH作为linker搜索路径:
[wyh@ appimp 22:04:48]$echo $LD_LIBRARY_PATH
/home/wyh/embtv_part_2/konka_broadcom/konka_app_example/kweb_aTo_so:./
[wyh@ appimp 22:05:40]$export LD_RUN_PATH=$LD_LIBRARY_PATH
[wyh@ appimp 22:13:40]$make
mipsel-linux-g++ -L/home/wyh/embtv_part_2/konka_broadcom/usr/local/lib -lz -ldirect -ldirectfb -lfusion -Wl,-O1 -Wl,-rpath,/home/wyh/embtv_part_2/konka_broadcom/usr/local/lib -Wl,-rpath,/home/wyh/embtv_part_2/konka_broadcom/usr/qt/lib -Wl,-rpath,/us