我最近走出了黑暗时代,并将我的GCC从3.4.4改为4.5.0与Cygwin(我在Windows上使用Netbeans 6.8以备将来参考)。我尝试通过它运行一个简单的程序来尝试测试新的编译器。但运行失败,理由是NetBeans“找不到-lstdC++”。GCC 4.5.0 ..编译期间链接错误?
有趣。
我看在...
C:\ cygwin的\ LIB \ GCC \ i686的-PC-cygwin的\ 4.5.0
...其中的libstdC++一个, 的libstdC++。dll.a,的libstdC++。LA,libsupC++。一个,和libsupC++ 1a中应该是(他们在3.4.4文件夹点),而且他们没有那里。我也注意到别的东西:有一个4.3.4的文件夹中...
C:\ cygwin的\ LIB \ GCC \ i686的-PC-cygwin的
其中包含这些确切的文件!好。所以我将它们复制到4.5.0文件夹并尝试再次运行该程序。这一次我让其他两个错误:
编译/调试/ Cygwin的窗口/ extract_fail_operations.o:/usr/lib/gcc/i686-pc-cygwin/4.5.0/include/C++ /位/stl_list.h:1435:未定义的引用`的std :: _ List_node_base :: _ M_hook(STD :: _ List_node_base *)”
和:
编译/调试/ Cygwin的窗口/ 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通信安全\ SSH安全壳; C:\ Program Files文件\ CVSNT \; C:\ cygwin的\斌
是的,Cy安装gwin是最新的网站。
我的猜测是,由于某种原因,您的新安装不在您的路径中。右键点击我的电脑,拉起属性,并在高级应该有一个环境变量列表。与他们更新您的文章。另外,您确实从cygwin网站获得了更新的软件包,对不对? – 2010-12-10 16:47:03
好的。原始帖子已更新,请求已满足。 – Kevin 2010-12-10 17:16:39