我設法(以某種方式)與用於32位Windows的Mingw-w64項目編譯器交叉編譯Qt5。所有的庫已安裝到~/i686-w64-mingw32
。程序入口點__gxx_personality_sj0不能位於...
我有一個基於CMake的Qt項目,我試圖交叉編譯。通過遵循these instructions,我已經能夠讓項目編譯。到現在爲止還挺好。
不幸的是,執行在Windows上生成的二進制文件的時候,我最終得到一個錯誤:
"The procedure entry point __gxx_personality_sj0 could not be located in the dynamic link library [application_name].exe"
* [應用程序名稱]是將主可執行文件的完整路徑
我聽說這種類型的問題有時可能是由混合使用不同版本的MinGW編譯的庫引起的。但是這臺機器上的所有東西(所有的庫和可執行文件)都是由同一個編譯器編譯的(i686-w64-mingw32
工具鏈)。
此外,我覺得奇怪的是,錯誤抱怨應用程序可執行文件丟失的入口點而不是.dll
文件之一。
什麼可能導致此錯誤,以及可以採取哪些措施來糾正它?
也許你正在使用以不同版本編譯的軟件 – didierc 2013-02-15 06:44:05
@didierc:我只安裝了一個版本的Mingw-w64。 – 2013-02-15 07:38:56
我想知道如果你有一個用不同版本的mingw編譯的軟件,而不是你使用過不同版本的mingw。你的回答完全反映了我的假設,即某個地方的另一個軟件正在使用由不同版本生成的庫,並且它以某種方式與你的編譯軟件進行交互。我想我沒有把事情說得夠好,但你知道了,向你表示讚美! – didierc 2013-02-15 14:13:18