【发布时间】: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...是”这样的行