【问题标题】:Run cygwin built exe in windows without cygwin's environment在没有cygwin的环境的windows中运行cygwin构建的exe
【发布时间】:2014-12-28 17:47:34
【问题描述】:

我正在尝试在 Windows 中移植一个 linux 软件。 我的软件依赖于 gtk、boost 和 libgerbv(我已经在 cygwin 上手动编译) 我已经成功编译了它,如果我在 cygwin 的终端中运行它,它就可以工作,但是如果我将 .exe 复制到带有 cygwin1.dll 的文件夹中并运行它,它会静默终止 如果我在 cmd.exe 中运行它,结果相同。
如何在 cygwin 环境之外“导出”这个可执行文件?我想将它与所需的共享库和 cygwin1.dll 一起分发

谢谢

【问题讨论】:

标签: c++ windows cygwin


【解决方案1】:

“如何将这个可执行文件“导出”到 cygwin 环境之外?”

简而言之:这是不可能的。您需要在目标机器上安装 cygwin 环境,并从 cygwin shell 运行在 cygwin 中创建的程序。

Cygwin 需要一些它自己的 .dll 文件,才能绑定到底层 Windows 操作系统。在没有完整安装 cygwin 的情况下,这些不能只是复制到另一个 Windows 系统。

这里有一些关于这个的更多细节:What is the difference between Cygwin and MinGW?


这就是为什么我更喜欢使用 MinGW 来移植 Windows 系统。 Cygwin 有它存在的权力和权利,当涉及到交叉编译代码以在 Windows 作为主机上运行的不同(例如嵌入式)目标时。

【讨论】:

  • 为什么简单地将相关的 Cygwin 库(包括cygwin1.dll)复制到可执行文件的文件夹中不起作用?这在过去对我有用,对other people也有用。
猜你喜欢
  • 2019-06-21
  • 2016-08-26
  • 1970-01-01
  • 2012-07-07
  • 2012-02-14
  • 2016-12-06
  • 1970-01-01
  • 1970-01-01
  • 2023-04-06
相关资源
最近更新 更多