您尚未登录。

楼主 #1 2021-05-21 08:17:05

落日余晖
会员
注册时间: 2019-11-23
已发帖子: 34
积分: 26.5

我有一个windows应用程序在cygwin编译运行的, 请问怎么发布给客户呢?

如题

离线

#2 2021-05-21 08:20:49

junyee
会员
注册时间: 2019-04-13
已发帖子: 37
积分: 33.5

Re: 我有一个windows应用程序在cygwin编译运行的, 请问怎么发布给客户呢?

把 编译好的应用程序拷贝出来,执行.
应该会提示缺少哪个 dll 之类的, 依此反复执行.

嫌麻烦可以把 cygwin\bin 的都拷出来.

离线

#3 2021-05-21 08:22:06

明月照我沟渠
会员
注册时间: 2020-07-09
已发帖子: 120
积分: 114

Re: 我有一个windows应用程序在cygwin编译运行的, 请问怎么发布给客户呢?

你的应用程序使用了 cygwin提供的POSIX API吗?如果用了,就把 cygwin*.dll 和 exe 复制到同一个文件夹.

如果不需要posix api,可以使用-mno-cygwin标志编译它,它不依赖于cygwin,但它将是一个本地Windows应用程序。通常,只需要一个真正的shell(Bash)来配置和构建应用程序,但实际上并不需要Cygwin的POSIX功能。

另一种选择是安装MSYS+MinGW,这是Cygwin的一个轻量级fork, 默认情况下生成本机Windows应用程序, 我记得Qt安装包里面自带了。
搜索: qt-opensource-windows-x86-5.13.2.exe (很大)

或者使用Cygwin本身的MinGW编译器。它们应该可以通过普通的Cygwin软件包管理器获得。然后使用MinGW编译器将项目配置为交叉编译。

离线

#4 2021-05-21 09:53:14

Blueskull
会员
注册时间: 2020-02-20
已发帖子: 458
积分: 444.5

Re: 我有一个windows应用程序在cygwin编译运行的, 请问怎么发布给客户呢?

Cygwin是GPL版权,按照法律要求你必须连同你的所有源代码分发。不想遵守GPL可以用MinGW,类似Cygwin的东西,但是POSIX函数不全。如果你的程序是一行没改的Unix程序,基本不用改动就能移植到Cygwin,而移植到MinGW需要一些改动。如果你的程序是自己写的,没有多少别人的东西,大概率直接换MinGW就可以。多数开源软件库也自带MinGW或者MSVC支持,不需要改就可以直接MinGW编译,不需要Cygwin。Cygwin是给特别特别老的代码准备的。

离线

楼主 #5 2021-05-21 10:57:00

落日余晖
会员
注册时间: 2019-11-23
已发帖子: 34
积分: 26.5

Re: 我有一个windows应用程序在cygwin编译运行的, 请问怎么发布给客户呢?

感谢楼上各位大侠, 我用 cygwin 自带的 i686-w64-mingw32-gcc 编译成功了, 用 exescope 看了没有依赖 cygwin*.dll, 看来应该没啥问题了.

离线

#6 2021-05-21 12:34:20

Blueskull
会员
注册时间: 2020-02-20
已发帖子: 458
积分: 444.5

Re: 我有一个windows应用程序在cygwin编译运行的, 请问怎么发布给客户呢?

落日余晖 说:

感谢楼上各位大侠, 我用 cygwin 自带的 i686-w64-mingw32-gcc 编译成功了, 用 exescope 看了没有依赖 cygwin*.dll, 看来应该没啥问题了.

那就是你的代码没有依赖POSIX库,相当于你把Cygwin当MinGW用。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn