我想在 go 中使用 leveldb,并找到我尝试使用以下命令构建的levigo工具
去 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&)'
然后我尝试运行:
CGO_CFLAGS="-I/path/to/leveldb/include" CGO_LDFLAGS="-L/path/to/leveldb/lib" 去 github.com/jmhodges/levigo
它不起作用并报告几乎相同的错误。有人知道发生了什么以及如何解决吗?谢谢你。