当前位置:  开发笔记 > 编程语言 > 正文

运行用C编写的程序时"找不到Cygwin1.dll".如何让Windows找到它?

如何解决《运行用C编写的程序时"找不到Cygwin1.dll".如何让Windows找到它?》经验,为你挑选了2个好方法。

所以我正在尝试运行我用C语言编写的第一个hello world prog.我在eclipse中编译它并且没有错误,但是当我尝试运行它时,我得到:

"此应用程序无法启动,因为找不到cygwin1.dll."

我发现这篇文章似乎表明我应该将它添加到Windows PATH,我用它来做到这一点.所以现在我的环境变量中的"Path"已经附加了"; C:\ cygwin\bin\cygwin1.dll".仍然没有工作.任何人都知道我可能做错了什么?我的"程序"看起来像这样:

#include 

main()
{
    printf("hello, world\n");
}

Adam Rosenfi.. 17

PATH环境变量需要包含包含cygwin1.dll的目录,而不是cygwin1.dll本身的路径.所以只需确保PATH中包含字符串"C:\cygwin\bin".



1> Adam Rosenfi..:

PATH环境变量需要包含包含cygwin1.dll的目录,而不是cygwin1.dll本身的路径.所以只需确保PATH中包含字符串"C:\cygwin\bin".


或者在printf之后输入Read.

2> Mihai Limbăș..:

顺便说一句,我恳请你不要盲目地将包含cygwin1.dll的目录添加到系统PATH中.顺序搜索路径.如果你碰巧在路径中有较旧或较新版本的Cygwin运行时,那么与cygwin1.dll相关联的其他程序可能会崩溃(除非你知道你正在寻找不同的DLL版本,否则解决发生的事情并非易事. .)

你应该做的是将cygwin1.dll(以及你的程序可能需要的其他Cygwin DLL)复制到保存二进制文件的目录中,然后创建一个空的(零字节长度)文件,其名称与你的可执行文件相同但.local附加,即if您的可执行文件是mytest.exe,您创建一个名为的文件mytest.exe.local.这将告诉PE加载器首先在保存二进制文件的同一目录中查找所需的DLL,从而避免以后遇到很多麻烦.

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有