编译 c++ 时缺少 cygwin1.dll与 g++
我正在使用 cygwin,当我用 gcc 编译 hello world 时,编译器不理解如何使用 std 命名空间(其中一些缺少),但是当我用 g++ 编译时,是的,它们可以工作。但是当我单击 helloworld.exe 时,它说 cygwin1.dll 丢失。
有什么我可以做的吗?
I'm using cygwin and when I'm compiling hello world with gcc somehow the compiler doesn't understand about using std namespaces (some of them are missing), but when I compile with g++ yes they work. But when I click on the helloworld.exe it says that cygwin1.dll is missing.
Is there anything can I do?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
“gcc”是 C 编译器 - 命名空间不是 C 语言的一部分。 “g++”是C++编译器,因此它能够理解命名空间。
尝试
no-cygwin
选项当编译生成依赖于 mingw 运行时而不是 cygwin 运行时的可执行文件时(AFAIR,这会引入许可问题)。"gcc" is the C compiler - and namespaces are not a part of the C language. "g++" is the C++ compiler, so it will understand namespaces.
Try the
no-cygwin
option when compiling to produce executables that depend on the mingw runtime instead of the cygwin runtime (which, AFAIR, introduces licencing issues).cygwin1.dll 错误可能表示注册表问题、病毒或恶意软件。
不要下载 cygwin1.dll。它可能是不合适的版本,或者只是不安全。
尝试重新安装 cygwin(或尝试 mingw32)。
cygwin1.dll errors could indicate a registry problem, a virus or malware.
Don't download cygwin1.dll. It can be an inappropriate version, or just unsafe.
Try to reinstall cygwin (or try mingw32).