在 Win10 上使用 Cygwin 构建 exe,但出现有关 kernel32.dll 的错误

Built exe using Cygwin on Win10, but getting errors regarding kernel32.dll

我是 Cygwin 新手。我今天安装了它(从他们的网站下载的最新版本),并构建了一个我一直在研究的程序,这个程序是几年前由另一个开发人员使用 Cygwin 为 Windows 构建的 - Blitzed IRC Trivia (开发b运行ch).

在 Win10/64 下,Cygwin 完成了一个完整的构建,只有我在 Linux 上构建时收到的相同的 2 个警告(关于未使用但设置变量)。一个多月以来,我一直在开发 运行 并在 Linux 上完成它。它连接到 IRC 服务器并开始提问。

我用Cygwin做成一个exe后,它会启动,但是当它到达L25时检查失败所以它打破了connect_to函数(上面的link) .我重新检查了我的代码几次,最后从 Cygwin 包管理器安装了 gdb。

当我通过 gdb 运行 它时,在到达断点之前,我收到一个关于 kernel32.dll 看起来非常严重的错误。不幸的是,我没有将输出粘贴到文件中,因此如果不重新启动到 Windows.

就无法产生确切的错误

但是在我 运行 在 ReactOS 中(在 Debian 8 上的 VirtualBox 中)之后,在我将 cygwin dll 放置到位之后,我得到一个对话框

the procedure entry point CancelSynchronousIo could not be located in the dynamic link library kernel32.dll

我搜索了 Google 但还没有找到任何具体的内容。我的下一步是尝试在 Cygwin 邮件列表上发帖。

我尝试在不使用 -static 的情况下进行构建,它现在可以正常工作了。我不知道为什么会导致错误。