您的位置:首页 > 其它

protobuf问题集锦(一)

2013-03-26 15:12 423 查看
问题
按如下步骤在Centos上编译安装Google Protocol Buffers

$ ./configure
$ make
$ make check
$ sudo 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 不在Centos系统默认的LD_LIBRARY_PATH 里。这个问题
protobuf 的 README.txt 写得很清楚。

** Hint on install location **

By default, the package will be installed to /usr/local. However,

on many platforms, /usr/local/lib is not part of LD_LIBRARY_PATH.

You can add it, but it may be easier to just install to /usr

instead. To do this, invoke configure as follows:

./configure --prefix=/usr

If you already built the package with a different prefix, make sure

to run "make clean" before building again.

解决方法

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

/usr/local/lib


2. 运行命令

$ sudo ldconfig


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

$ protoc --version
libprotoc 2.4.0a



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息