undefined reference to `snappy::MaxCompressedLength(unsigned long)'

../pkg/leveldb-1.13.0/libleveldb.a(table_builder.o): In function `leveldb::TableBuilder::WriteBlock(leveldb::BlockBuilder*, leveldb::BlockHandle*)':

table_builder.cc:(.text+0x40e): undefined reference to `snappy::MaxCompressedLength(unsigned long)'

table_builder.cc:(.text+0x440): undefined reference to `snappy::RawCompress(char const*, unsigned long, char*, unsigned long*)'

../pkg/leveldb-1.13.0/libleveldb.a(format.o): In function `leveldb::ReadBlock(leveldb::RandomAccessFile*, leveldb::ReadOptions const&, leveldb::BlockHandle const&, leveldb::BlockContents*)':

format.cc:(.text+0x4f6): undefined reference to `snappy::GetUncompressedLength(char const*, unsigned long, unsigned long*)'

format.cc:(.text+0x658): undefined reference to `snappy::RawUncompress(char const*, unsigned long, char*)'


     在使用levelDB库的时候,遇到这个问题,看提示应该是编译器找不到snappy这个库,在网上搜索了下,发现这个是一个压缩库,google的很多项目喜欢使用这个库,其特点是压缩效率高,可以进行PB级压缩。

    言归正传,于是就yum  install snappy 安装了这个库,然后再次编译我的测试文件

g++ -o leveldb -I ../pkg/leveldb-1.13.0/include/ -I ../pkg/leveldb-1.13.0/include/leveldb/  test_leveldb.cc   ../pkg/leveldb-1.13.0/libleveldb.a -lpthread -lsnappy

    然后就能正常使用了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值