首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用cygwin编译的C++代码需要cygwin1.dll来运行

用cygwin编译的C++代码需要cygwin1.dll来运行
EN

Stack Overflow用户
提问于 2022-05-23 18:51:22
回答 1查看 132关注 0票数 2

我没有可以共享的特殊代码来问这个问题,但是我编写了一个C++代码(它甚至可以是一个简单的Hello程序)编译到一个 exe 文件中,它要求通过%path%或在与exe一起运行的文件夹中运行cygwin1.dll (用于运行时)。

如果需要libstdc++-6,我可以使用标记-static-static-libstdc++。但是,为了不依赖cygwin1.dll文件执行exe,我能做些什么呢?我应该使用其他编译器来代替吗?

Ps:我期待一些类似这样的解决方案,如果有意义的话。MinGW .exe requires a few gcc dll's regardless of the code?

此外,我不希望创建或使用单独的安装程序将dll添加到适合我的情况下的位置。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-24 00:44:06

正如注释中所讨论的,Cygwin内部的本机gcc以Cygwin为目标。你希望GCC以mingw32为目标,而不是以Cygwin为目标。虽然你可以将GCC安装在Cygwin内部,作为一个交叉编译器,但MSYS的土生土长GCC工作得很好,我也会这样建议的。

请注意,如果您需要一个在MINGW中不可用的库,那么从Cygwin提取这个库基本上是行不通的。考虑到这是一条硬线:永远不要将依赖Cygwin的dll与非Cygwin依赖的dll混合。将Cygwin视为一个子系统,它恰好可以直接从Win32启动,而不是Win32库。

MINGW已经有了一段时间的线程,但是很多时候端口都不能工作。如果使用p线程的程序调用fork(),则它将无法工作。那时你就需要Cygwin了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72353536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档