我正在尝试使用gorocksdb这是一个cgo软件包,用于在Windows上使用rocksdb库。
CGO_CFLAGS="-I/path/to/rocksdb/include"
和
CGO_LDFLAGS="-L/path/to/rocksdb -lrocksdb -lstdc++ -lm -lz -lbz2 -lsnappy -llz4 -lzstd"
lib
go get ...
命令The programer can't start because rocksdb-shared.dll is missing ...
为什么可执行文件会一直加载 rocksdb-shared.dll ?我在cgo包中找不到任何引用。
答案 0 :(得分:1)
我想我找到了问题的答案。
我想我无法重命名已编译的dll,因为dll“引用”本身就是这个名字。所以它无法正常加载。
要解决我的问题,我只是在我的environement变量和file中将LDFLAG中的参数从 -lrocksdb 重命名为 -lrocksdb-shared 。