c-如何在Windows上编译memcached



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

正在检查libevent目录。。。configure:error: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。

我使用选项--with-libevent再次在memcached上运行configure。但由于某种原因,它再次以同样的错误失败。我不知道它为什么会失败。有人能帮我解决这个问题吗?或者有更好的方法让memcached在Windows上运行吗?我见过很多为Windows预先构建的二进制文件。但它们都使用旧版本的memcached。和AFAIK,Windows在新版本中由memcached正式支持。

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

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

因此,在libevent-dir中运行make install,在没有参数的情况下从memcache运行configure就足够了。

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

不幸的是,成功的configure并不是一切稍后它在包含sys/socket.hnetinet/in.hnetdb.h以及可能还有-pthreadgcc参数时失败。我担心它不会在mingw上编译。至少不是没有认真的移植工作。

据我所知,从未有过正式的Windows Memcached端口(是的,很少有单独的努力。最近知道的移植工作可以在1.2.6版本上找到)最著名的是在Couchbase上用Memcached Bucket实现Memcached for Windows。

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

$ export LIBS=-lws2_32

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

请参阅mingw链接器错误winsock

相关内容

  • 没有找到相关文章

最新更新