GCC 4.5.0 ..编译时的链接错误?

时间:2010-12-10 16:28:22

标签: g++ linker-errors undefined-reference libstdc++

好吧,我最近走出了黑暗时代,用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是该网站的最新版本。

1 个答案:

答案 0 :(得分:1)

您需要安装libstdc ++ 6-devel版本4.5.0。