时间:2010-07-26 05:46:18

标签: g++ shared

1 个答案:

答案 0 :(得分:2)

动态链接器希望在/usr/lib/lib/usr/local/lib以及其他一些地方找到共享库。它肯定../johnpaul/中查找它们。

如果要将库安装到全局位置,那么只需将它们安装在那里。

否则,您必须告诉动态链接器在哪里找到它们。

更好的方法是将它们添加到编码为可执行文件的RPATH中:

 g++ -o hellobeatles hellobeatles.cpp \
     -L ../johnpaul/ -L ../georgeringo/ -ljohnpaul -lgeorgeringo \
     -Wl,-rpath=/path/to/johnpaul:/path/to/georgeringo

替代(并且不太优选)的方法是:

export LD_LIBRARY_PATH=/path/to/johnpaul:/path/to/georgeringo