用cygwin在windows下构建libevent?

Posted

技术标签:

【中文标题】用cygwin在windows下构建libevent?【英文标题】:build libevent under windows with cygwin? 【发布时间】:2011-11-30 04:31:30 【问题描述】:

我在 cygwin-windows 下构建 libevent-2.0.16-stable 并支持多线程功能,但似乎 configure 没有将环境检测为 WIN32,因此它没有包含 evthread_win32.c 作为构建的一部分进程,尝试调用evthread_use_windows_threads 导致找不到符号。 所以我尝试设置像CFLAGS=WIN32 ./configure这样的WIN32标志,但它也不起作用。那么正确的方法是什么?

【问题讨论】:

Libevent 开发者在这里。我从未尝试在 Cygwin 上为 Windows 构建 Libevent:仅使用 mingw 和 msvc。所以那里可能有一个错误!当在 configure.in 中定义 BUILD_WIN32 时,似乎包含了 evthread_win32.c,而只有在编译器定义了预处理器宏“WIN32”时,才在 configure.in 中定义了 BUILD_WIN32。 cygwin GCC 是否定义了任何表明它是 WIN32 的预处理器宏? [ETA:如果您在这里找到解决方案,请在 libevent 邮件列表或 bugtracker 上告诉我们,以便我们也可以为其他人修复它] 我不认为 cygwin 定义了 WIN32 标志,配置脚本显示诸如“正在检查 WIN32...否,正在检查 CYGWIN...是”这样的行 【参考方案1】:

我遇到了同样的问题。所以我只是配置为使用非 cygwin 编译器 ./configure --binpath=[path to directory with the compiler] CC=[path to my mingw gcc.exe] 然后运行 ​​make

【讨论】:

以上是关于用cygwin在windows下构建libevent?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以在 cygwin gcc build 中使用在 VC++ 下构建的库?

如何在windows中使cygwin构建程序使用windows路径

如何在Windows中通过Cygwin来使用Linux命令行

cygwin

Windows 下安装 swoole 具体步骤

Windows 下安装 swoole 具体步骤(php)