Cygwin 中运行(而不是编译)Linux 环境 C 程序所需的唯一软件包是啥?

Posted

技术标签:

【中文标题】Cygwin 中运行(而不是编译)Linux 环境 C 程序所需的唯一软件包是啥?【英文标题】:What are the only required packages in Cygwin to run(not compile) a Linux-environment C program?Cygwin 中运行(而不是编译)Linux 环境 C 程序所需的唯一软件包是什么? 【发布时间】:2021-06-08 06:05:12 【问题描述】:

我昨天在我的 Windows 计算机上安装了 Cygwin,并编译并运行了一个基于套接字的 C 代码,该代码是为 Linux 编程的。在编译(GCC)并在 Windows 上运行 Linux 环境代码之前,我安装了“开发”类别中的所有软件包。我没有安装其他任何东西,它工作正常。

但是现在我已经完成了我的程序,我想分享它。但我不希望我的用户在 Windows 上安装 Cygwin 几个小时。用户不会编译程序,他们只会运行它。那么使用 Cygwin 运行 Linux 环境程序所需的唯一软件包是什么?或者如果我不打算编译它,我什至需要安装任何包来运行 Linux 环境程序?

【问题讨论】:

终端或X图形程序? cygcheck ./your_program 的输出是什么? 【参考方案1】:

如果您不想要 Cygwin 的麻烦及其兼容层,您应该考虑使用 MinGW-w64 为原生 Windows 构建。

在 Windows 中,您可以从 https://winlibs.com/ 或通过 MSYS2 使用其 pacman 包管理器获得独立的 MinGW-w64。

但您也可以使用 MinGW-w64 在 Linux 上为 Windows 进行交叉编译,您可以通过 Linux 发行版的包管理器安装它。

【讨论】:

以上是关于Cygwin 中运行(而不是编译)Linux 环境 C 程序所需的唯一软件包是啥?的主要内容,如果未能解决你的问题,请参考以下文章

如何在运行时解析 dll 中的外部符号,而不是使用 Cygwin 进行链接时

Cygwin-1.7.17环境下编译FLTK-1.3.2

012.Windows Cygwin环境搭建

在linux下,QT怎样编译出windows程序

win10下安装Cygwin配置gcc编译环境

如何为原生窗口(而不是 X 窗口)编译 gtk+ 应用程序?