在 g++ 中使用 -mno-cygwin 标志是否有副作用?

发布于 2024-07-13 16:14:27 字数 294 浏览 4 评论 0原文

我最近发现,只要使用 -mno-cygwin 标志,我就可以使用 g++ 制作没有外部依赖项的 Windows 可执行文件。 我的印象是编译器使用 MinGW 库而不是 cygwin。

  • 这是使用 cygwin 构建二进制文件而没有 gpl 许可问题的有效方法吗?

  • 除了更大的可执行文件之外,这还有什么技术副作用吗? (即,失去 cygwin 特定的功能、受限的功能)

  • 此功能是否记录在任何地方? 我只能找到几年前描述它的新闻组帖子。

I have recently discovered that I can make windows executables with g++ that have no external dependencies, as long as I use the -mno-cygwin flag. My impression is that the compiler uses MinGW libraries instead of cygwin.

  • Is this an effective way of using cygwin to build binaries without gpl licensing issues?

  • Are there any technical side effects of this besides a larger executable? (i.e., loosing cygwin-specific features, restricted functionality)

  • Is this feature documented anywhere? I can only find newsgroup postings from several years ago describing it.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

拥有 2024-07-20 16:14:27

-mno-cygwin 标志删除了对 Cygwin 的所有依赖,这样您的程序就不会依赖 cygwin1.dll,也不会依赖 Unix 环境。 生成的可执行文件就像是使用 MinGW 工具链而不是 Cygwin 编译的。 标准函数无法识别或理解 Unix 风格的路径或符号链接,因为它们是在 Cygwin 中实现的。

我不记得它在哪里,但是 Cygwin 中有一个帮助文档解释了它。

The -mno-cygwin flag removes all dependencies on Cygwin so that your program will not rely on cygwin1.dll, nor on the presence of a Unix environment. The resulting executable is as if it had been compiled with the MinGW toolchain rather than Cygwin. Standard functions won't recognize or understand Unix-style paths or symlinks as they are implemented in Cygwin.

I can't remember where it is, but there is a help document within Cygwin that explains it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文