![Cygwin 生成的 .exe 不能直接从 Windows 运行](https://linux22.com/image/1633223/Cygwin%20%E7%94%9F%E6%88%90%E7%9A%84%20.exe%20%E4%B8%8D%E8%83%BD%E7%9B%B4%E6%8E%A5%E4%BB%8E%20Windows%20%E8%BF%90%E8%A1%8C.png)
我使用 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 环境不同。
- 在您的驱动器中搜索该 DLL(查看您的 cygwin 安装目录第一的)。
- 打开命令提示符,将该文件夹添加到您的路径中。
- 尝试启动您的应用程序。
另一种方法是:
- 从 cygwin 启动工作版本
- 使用SysInternals 进程浏览器查看它从哪里加载了哪些 DLL。
找到 DLL 后,将其复制到您选择的路径(我希望在 PATH 中)..或者将该文件夹添加到您的 PATH 环境中。