5

我正在尝试memcached在 Windows 上运行。我已经下载memcached了最新的稳定版并在 Windows 7 下使用 Mingw 编译它。配置失败并出现错误,

检查 libevent 目录...配置:错误:需要 libevent。您可以从http://www.monkey.org/~provos/libevent/获得它

  If it's already installed, specify its path using --with-libevent=/dir/

然后我下载libevent并编译它。这产生了 3 个 DLL,libeventcore、libevent-extra 和 libevent-2.0.5。

memcached我使用选项再次运行配置--with-libevent。但是由于某种原因,它再次失败并出现相同的错误。我不知道它为什么会失败。谁能帮我解决这个问题?还是有更好的方法memcached在 Windows 上运行?我见过很多为 Windows 预先构建的二进制文件。但他们都使用旧版本的memcached. memcached和 AFAIK,Windows在较新的版本中得到正式支持。

我正在使用带有 MinGW 的 Windows7 64 位版本。

4

3 回答 3

1

make在dir 中运行后,libevent您可以准备好文件,但要充分利用它,必须安装它们。所以make install需要一步。如果您使用前缀配置它,它将位于您选择的目录中。否则就是/usr/local

所以也许make install在 libevent dir 中运行并在configure没有参数的情况下从 memcache 运行就足够了。

如果您在通过配置阶段仍有问题,请查看config.log. 它显示了源文件和失败的 gcc 命令。

不幸的是,成功configure并不是一切。后来它在包含sys/socket.h,netinet/in.h并且netdb.h可能还有-pthreadgcc 参数时失败。恐怕它不会在 mingw 上编译。至少不是没有认真的移植工作。

于 2012-10-30T15:49:32.813 回答
0

我意识到迟到了,但答案是使用:

$ export LIBS=-lws2_32

这将放置$LIBS在编译调用的末尾,以便它链接到libws2_32.a或 winsocks2,但这可能意味着您没有正确配置您的构建,并且您将出现后续错误,例如#include <sys/socket.h>找不到标头等。

mingw-linker-error-winsock

于 2014-08-21T22:46:01.277 回答
0

据我所知,从来没有一个官方的 Windows 的 Memcached 端口(是的,很少有个人的努力。最后知道的移植工作可以在这里找到 1.2.6 版本)在 Couchbase 上使用 Memcached Bucket 的 Memcached 的最著名实现。

于 2012-10-31T04:44:27.830 回答