go - 如何使用乐高

标签 go leveldb

我想在 go 中使用 leveldb,并找到 levigo工具 我尝试使用以下命令构建

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&)'

然后我尝试运行:

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

它不起作用并报告几乎相同的错误。 有人知道发生了什么以及如何解决它吗? 谢谢。

最佳答案

这是我安装的 levigo:

$ uname -a
Linux peter 3.8.0-27-generic #40-Ubuntu SMP Tue Jul 9 00:17:05 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
$ go version
go version devel +037a28ab0725 Thu Aug 22 12:13:54 2013 +0900 linux/amd64
$ sudo apt-get install libleveldb-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libleveldb-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
$ go get -v github.com/jmhodges/levigo
github.com/jmhodges/levigo (download)
github.com/jmhodges/levigo
$

如果运行这些命令,您会得到什么输出?

关于go - 如何使用乐高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18394177/

相关文章:

leveldb - LMDB 是否支持多个键到相同值的映射?

Golang文件重命名

go - 为什么访问是 RDWR 时内存映射文件需要刷新?

go - 确定 []byte 所需存储的更好方法

Go:带有接口(interface)的结构的动态类型转换/断言(调用方法和使用结构公共(public))

python - 用 pip 安装 plyvel

cassandra - 分层压缩中层数的影响是什么?

go - 序列化 goroutines(并行化但保证顺序)

c++ - 如何按值对 LevelDB 进行排序

leveldb - 如果值为空并且只有一个键,leveldb 是否存在结构问题?