编译thrift外篇-关于默认链接包

Posted longbigfish

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编译thrift外篇-关于默认链接包相关的知识,希望对你有一定的参考价值。

根据 https://stackoverflow.com/questions/9922949/how-to-print-the-ldlinker-search-path 使用 

ldconfig -v 2>/dev/null | grep -v ^$‘\t‘

列出了所有的默认链接包路径,使用

ll /usr/local/cuda-8.0/lib64 /usr/lib/x86_64-linux-gnu/libfakeroot /usr/local/lib /lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu /usr/lib/nvidia-375 /usr/lib32/nvidia-375 /lib32 /usr/lib32 /lib /usr/lib |grep
snappy

可以看到有snappy库。 查看leveldb时,有两个leveldb库,一个是apt-get安装的,一个是自己编译拷贝进去的,两个不一样大。现在想知道apt-get安装的路径在哪。

使用 ls -d -1 $PWD/**/* 这种方式以全路径方式列出当前目录下的文件,可以套用到上述路径,发现,snappy路径

/usr/lib/x86_64-linux-gnu/libsnappy.a

/usr/local/lib/libleveldb.a

leveldb路径

第一个是系统安装的。

通过fincore可知,链接的是/usr/local/lib/libleveldb.a ,也就是自己编译的。

 

 

最后,在Makefile里加上一句  LIB=/usr/lib/x86_64-linux-gnu/

以及 -L $(LIB) 

 

竟然编译成功了!!!!

以上是关于编译thrift外篇-关于默认链接包的主要内容,如果未能解决你的问题,请参考以下文章

Thrift一Thrift安装部署

Thrift第一课 源码编译

Thrift-0.10.0 CenOS 7 编译错误 error: expected ')' before 'PRIu32'

thrift静态库问题

编译 C++ Thrift 代码以连接 Cassandra 会导致以下错误。我们在这里缺少啥?

RPC框架 - thrift 服务端