现象:
<span style="font-size:18px;">[suyh@localhost server]$ ./server
./server: error while loading shared libraries: libprotobuf.so.8: cannot open shared object file: No such file or directory
[suyh@localhost server]$ </span>
很明显是一个动态库没找到的原因,但是很奇怪。我明明都编译链接过了,这可以说明这个库是存在的,不然链接的时候会失败。
其实是程序运行的时候也需要用到动态库。
想起程序运行时会去默认路径下寻找动态链接库,但是这里用到的protobuf 库是在/usr/local/lib 目录下,并非默认库路径。
所以设置了一下环境变量想让其能找到该路径:LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
但运行的结果还是上面的一样。还是找不到库。
还好后来在一个 群里有人提到用export 导出才能使用环境变量。果然运行OK了。
靠。原来只是想捡个懒,少拼一个export。却搞出个问题来。嘻嘻嘻嘻!