zoukankan      html  css  js  c++  java
  • 在go中使用leveldb --levi

    github上有个比较好用的leveldb go wrapper levigo, 安装之前需现在机器上安装leveldb

    当前版本的LevelDB没有带安装脚本,需自行编译安装,过程如下:

    • install leveldb:

      $ tar zxvf leveldb-1.12.0.tar.gz

      $ leveldb-1.12.0/

      $ make

      $ sudo cp -r include/leveldb /usr/include/

      $ sudo cp libleveldb.* /usr/lib/

    • install levigo:

    $ go get github.com/jmhodges/levigo

    不知道为什么,如果把leveldb的相关文件放在/usr/local对应的文件下,安装levigo怎么也通不过,求路过大侠指点迷津。。。

    如果不把leveldb的相关文件放置/usr/对应目录下,用levigo上给出的方案:

    CGO_CFLAGS="-I/path/to/leveldb/include" CGO_LDFLAGS="-L/path/to/leveldb/lib" go get github.com/jmhodges/levigo

    运行,会跑出如下错误:

    /home/fun/workspace/study/leveldb/test/libleveldb.a(env_posix.o): In function `leveldb::(anonymous namespace)::StartThreadWrapper(void*)':
    env_posix.cc:(.text+0x1e): undefined reference to `operator delete(void*)'
    /home/fun/workspace/study/leveldb/test/libleveldb.a(env_posix.o): In function `leveldb::(anonymous namespace)::PosixEnv::NewLogger(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, leveldb::Logger**)':
    env_posix.cc:(.text+0x10c): undefined reference to `operator new(unsigned long)'
    /home/fun/workspace/study/leveldb/test/libleveldb.a(env_posix.o): In function `leveldb::(anonymous namespace)::PosixEnv::NewSequentialFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, leveldb::SequentialFile**)':
    env_posix.cc:(.text+0x1e1): undefined reference to `operator new(unsigned long)'
    env_posix.cc:(.text+0x1f7): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'

    这个错误与之前用gcc去编译调用leveldb的C++代码时的错误一致,但一直找不到解决办法。主要是这方面的基础太差了,求路过大虾们指点

  • 相关阅读:
    1012 The Best Rank (25 分)(排序)
    1011. World Cup Betting (20)(查找元素)
    1009 Product of Polynomials (25 分)(模拟)
    1008 Elevator (20 分)(数学问题)
    1006 Sign In and Sign Out (25 分)(查找元素)
    1005 Spell It Right (20 分)(字符串处理)
    Kafka Connect 出现ERROR Failed to flush WorkerSourceTask{id=local-file-source-0}, timed out while wait
    flume、kafka、avro组成的消息系统
    Java23种设计模式总结【转载】
    Java编程 思维导图
  • 原文地址:https://www.cnblogs.com/AndreMouche/p/3279350.html
Copyright © 2011-2022 走看看