2010-11-18 49 views
0

大家下午好,SjLj在嘗試使用Netbeans開發Qt應用程序時未定義

我試圖開發我的第一個Qt應用程序。我收到很多錯誤,如下面的,如果我嘗試在靜態庫用我自己的代碼鏈接:

H:/NetBeansProjects/CommonLib/aes.cpp:607: undefined reference to `__gxx_personality_sj0' 
H:/NetBeansProjects/CommonLib/aes.cpp:607: undefined reference to `_Unwind_SjLj_Register' 
H:/NetBeansProjects/CommonLib/aes.cpp:615: undefined reference to `_Unwind_SjLj_Resume' 

我的代碼編譯,並在不使用Qt使用的作品。 Qt程序在我試圖鏈接我的庫之前編譯和工作。谷歌顯示它可能是用來構建兩組代碼的編譯器之間的不匹配。我將Netbeans環境設置爲使用相同的工具鏈構建,並且沒有 更改。

我使用的是Windows,NetBeans 6.9.1和最新的Qt。我已經將編譯器設置爲使用Qt提供的mingw編譯器的 。

有什麼建議嗎?

+0

看起來沒有代碼將與新的Qt/mingw鏈接。我的非Qt單元測試現在也一樣。 – Jay 2010-11-18 23:06:28

回答

0

找到解決方案!

它從我的項目的早期版本的庫中鏈接。

我用Qt安裝了一個新版本的Mingw編譯器來解決問題。我在Netbeans中將新編譯器設置爲具有不同名稱的工具鏈。

我做了一個清理,並使用新的工具鏈構建引用的項目。 Netbeans將編譯後的庫存儲在工具鏈中指定的目錄中。它將該庫的舊版本保留在爲原始工具鏈命名的另一個目錄中。

將項目引用添加到庫時Netbeans將路徑導入到庫。如果您更改了工具鏈(並因此更改了庫的路徑),其他項目仍然指向舊代碼。您必須刪除項目引用並重新添加它們。

相關問題