好吧,我最近走出了黑暗时代,并使用 Cygwin 将我的 GCC 从3.4.4升级到了4.5.0(我在 Windows 上使用 Netbeans 6.8 以供将来参考)。我尝试通过尝试运行一个简单的程序来测试新编译器。然而,运行失败,理由是 NetBeans “找不到 -lstdc++”。
有趣的。
我进去看...
C:\cygwin\lib\gcc\i686-pc-cygwin\4.5.0
...应该在哪里libstdc++.a、libstdc++.dll.a、libstdc++.la、libsupc++.a和libsupc++.la(它们在 3.4.4 文件夹中的那个位置),但它们不是那里。我还注意到别的东西:在...中有一个 4.3.4 文件夹
C:\cygwin\lib\gcc\i686-pc-cygwin
其中包含这些确切的文件!好的。所以我将它们复制到 4.5.0 文件夹并尝试再次运行该程序。这次我遇到了另外两个错误:
build/Debug/Cygwin-Windows/extract_fail_operations.o:/usr/lib/gcc/i686-pc-cygwin/4.5.0/include/c++/bits/stl_list.h:1435: 未定义引用`std::_List_node_base: :_M_hook(std::_List_node_base*)'
和:
build/Debug/Cygwin-Windows/extract_fail_operations.o:/usr/lib/gcc/i686-pc-cygwin/4.5.0/include/c++/bits/stl_list.h:1451: 未定义引用`std::_List_node_base: :_M_unhook()'
在这一点上,我认为我已经超出了我的头脑,并决定在复制和粘贴更多文件之前来寻求帮助。如果有人能告诉我如何让这个工作,我会非常感激。
(如果任何解决方案涉及命令行,请注意我并不精通它......您可能需要提供其他 SO 用户不需要的额外细节!)
编辑: PATH 变量如下:
C:\Program Files\SSH Communications Security\SSH Secure Shell;C:\Program Files\CVSNT\;C:\cygwin\bin
是的,安装的 Cygwin 是该站点的最新版本。