【问题标题】:cygwin1 dll when opening exe打开exe时的cygwin1 dll
【发布时间】:2013-05-20 11:11:29
【问题描述】:

我在我的计算机上使用 C++ 和 netbeans 创建了一个程序。我希望 exe 文件在其他地方打开。它在我的电脑上打开一切正常,但我在学校的电脑上测试了它,没有 netbeans 或 cygwin。经过研究,我尝试将 cygwin1.dll 文件放在与我的 exe 相同的目录中,但这甚至会在我的计算机上破坏 exe。

从另一台计算机上执行此操作的最佳方法是什么?以下是我目前的一些选择:

1. Install cygwin.dll file on System 32
2. change variable path (Not sure what the path is, but i will find out)

我想避免的一些选项:

1. Installing netbeans or cygwin

补充说明: 我唯一的问题是从另一台计算机打开编译的 .exe 文件 所有计算机都将使用 Windows

我看过的链接 http://www.dll-files.com/dllindex/dll-files.shtml?cygwin1 http://pcsupport.about.com/od/findbyerrormessage/a/cygwin1-dll-not-found-missing-error.htm

【问题讨论】:

  • 你为什么使用cygwin?你知道铭文吗? Cygwin 更多的是用于在 Windows 系统上开发 linux 应用程序(或使用 linux 功能的应用程序)(它是 Windows 的完整 linux/posix 环境)。 Mingw 更适合在 Windows 上开发 Windows 应用程序。 ;)
  • @leemes 你会推荐我使用mingw然后简单地重新编译它吗?
  • 如果你没有选择 cygwin 是有原因的。你来自linux世界吗?你刚开始学习编程吗?
  • 刚开始编程,还不行。。来自windows,打算用windows。所以我会用mingw :) 非常感谢
  • Mingw 应该很容易设置。安装后,记得更改 netbeans 中的编译器。 Netbeans 只是你的IDE,它使用 编译器,所以你必须告诉netbeans what 编译器使用。也许您有/想要将netbeans 中的debugger 也更改为mingw,我不知道netbeans 中的设置,但它可能与编译器设置分开。调试器是一个程序,它可以与您的程序一起运行,以便调试它;)然后您可以单步执行您的程序,检查和更改变量值等。查找和修复错误的重要工具。

标签: c++ netbeans cygwin exe


【解决方案1】:

不幸的是,可执行文件将按名称搜索 cygwin.dll,因此重命名它不起作用。此外,主要出于安全原因(您不想更新学校的 IT 部门)将东西放入 System32 是一个坏主意,并且在该文件夹中玩耍可能会弄乱机器。改变路径是可以的,但同样,改变的持久性意味着你应该回避它。

如果我是你,我会创建一个 .bat 文件,比如 myapp.bat,其中包含以下行

set PATH=%PATH%;<location>
<myapp>

其中&lt;location&gt; 是cygwin.dll 的位置,&lt;myapp&gt; 是可执行文件的完整路径(包括文件名)。 然后,您可以双击此批处理文件。此文件中的第一行通过附加 dll 的位置来更新路径,但仅以与该特定会话相关的方式。有意义吗?

【讨论】:

  • 我觉得很有意义,我会尝试这个!非常感谢,我会看看情况如何并回来
  • 我已经尝试过了,在与我的 exe 和我的 dll 文件相同的文件夹中创建了我的批处理文件。设置 PATH=%PATH%; 是它在批处理文件中的样子,但它似乎不起作用,我可能搞砸了..
  • 删除 。我把它们作为符号!
  • Whoopsie.. 哈哈,我对此不太确定。无论如何.. 如果需要,我稍后会使用它:) 无论如何谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-15
  • 1970-01-01
  • 2021-12-06
  • 1970-01-01
相关资源
最近更新 更多