在 Windows 上构建 LMDB 主分支

Building LMDB master branch on Windows

我正在尝试从 master 分支构建 LMDB,因为 Windows 增量文件增长补丁未合并到发布分支中。

我正在使用 CMake 和 MSVC 编译器。我正在尝试将 lmdb 构建为静态库。

我得到的错误是:

mdb.c(55,19): error C2143: syntax error: missing ')' before '__cdecl'

这是来自 mdb.c 的第 55 行,加上它后面的几行:

typedef NTSTATUS (WINAPI NtCreateSectionFunc)
  (OUT PHANDLE sh, IN ACCESS_MASK acc,
  IN void * oa OPTIONAL,
  IN PLARGE_INTEGER ms OPTIONAL,
  IN ULONG pp, IN ULONG aa, IN HANDLE fh OPTIONAL);

知道是什么原因造成的以及如何解决吗?

原来问题是add_definitions(-DWIN32_LEAN_AND_MEAN)在另一个外部库的cmake中。