首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

Linux动态库加载途径

2012-06-27 
Linux动态库加载路径问题按如下步骤在Ubuntu上编译安装Google protobuf$ ./configure$ make$ make check$

Linux动态库加载路径
问题

按如下步骤在Ubuntu上编译安装Google protobuf

  $ ./configure  $ make  $ make check  $ make install

运行

protoc --version

出现找不到动态库的错误

protoc: error while loading shared libraries: libprotobuf.so.7: cannot open shared object file: No such file or directory
原因

原因是protobuf的默认安装位置是 /usr/local,/usr/local/lib?不在系统默认的 LD_LIBRARY_PATH 里。这个问题protobuf 的 README.txt 写得很清楚,怪自己不仔细。

?

解决

参考文章里面提供了几种方法,这里只使用其中的一种。

1. 创建文件?/etc/ld.so.conf.d/libprotobuf.conf 包含以下内容

/usr/local/lib

2. 运行命令

sudo ldconfig 

这时再运行 protoc --version 就可以得到版本号了

$ protoc --versionlibprotoc 2.4.1
参考linux共享库位置配置(LD_LIBRARY_PATH环境变量 或者 更改/etc/ld.so.conf 或者 使用-R选项)Shared Library Search Paths

热点排行