答案 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