Cygwin 生成的 .exe 不能直接从 Windows 运行

Cygwin 生成的 .exe 不能直接从 Windows 运行

我使用 cygwin 和 gcc 编译并构建了源代码文件,一切顺利,当我从 cygwin 运行文件时,我得到了 .exe 文件,如下所示:

./file.exe 

它运行没有问题

但是当我尝试从 Windows 运行它时,首先我得到以下信息:

The code execution cannot proceed because cygwin1.dll was not found

因此我下载并将 cygwin1.dll 添加到程序目录,然后我收到以下消息:

The application was unable to start correctly (0xc000007b). 

我也尝试了 32 位版本的 cygwin1.dll,得到了这个:

The procedure entry point uname_x could not be located in the dynamic link library 

所以我回滚到 64 位版本,但当然仍然是同样的问题!

再次从 cygwin 运行它没有问题,但从 windows 运行它不工作,所以有没有什么方法可以在 windows 中运行 .exe 文件而没有问题!?

问候

答案1

CYGWIN 环境的 PATH 与 Windows 环境不同。

  1. 在您的驱动器中搜索该 DLL(查看您的 cygwin 安装目录第一的)。
  2. 打开命令提示符,将该文件夹添加到您的路径中。
  3. 尝试启动您的应用程序。

另一种方法是:

  1. 从 cygwin 启动工作版本
  2. 使用SysInternals 进程浏览器查看它从哪里加载了哪些 DLL。

找到 DLL 后,将其复制到您选择的路径(我希望在 PATH 中)..或者将该文件夹添加到您的 PATH 环境中。

相关内容