2010-12-10 229 views
1

我最近走出了黑暗時代,並將我的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++。LAlibsupC++。一個,和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是最新的網站。

+1

我的猜測是,由於某種原因,您的新安裝不在您的路徑中。右鍵點擊我的電腦,拉起屬性,並在高級應該有一個環境變量列表。與他們更新您的文章。另外,您確實從cygwin網站獲得了更新的軟件包,對不對? – 2010-12-10 16:47:03

+0

好的。原始帖子已更新,請求已滿足。 – Kevin 2010-12-10 17:16:39

回答

1

您需要安裝libstdC++ 6-devel的4.5.0版本。

+0

這對我有用。使用Cygwin的setup.exe升級gcc軟件包後,我遇到了同樣的問題。 – amolbk 2011-01-13 06:47:51