2015-06-18 55 views
0

我試圖從SFML頁面編譯例如 http://www.sfml-dev.org/tutorials/2.3/start-cb.php (at the bottom)掛SFML程序的DLL無法啓動,返回0xC000007B或丟失__gxx_personality_v0

我dowloaded版本的GCC 4.9.2 DW2,需要設置好一切(連接器,目錄)它編譯沒有錯誤。

當應用程序啓動它說它需要.dll文件,所以我從SFML/bin目錄複製它們。 於是說the procedure entry point __gxx_personality_v0 could not be located in the dynamic link library libstdc++-6.dll(的libstdC++ - 6有從MinGW的/ bin中複製)在同一個DLL

在SFML頁面

the pro... _ZSt24__throw_out_of_range_fmtPKcz有一張紙條:

有多個變種GCC for Windows,它們彼此不兼容(不同的異常管理,線程模型等)。確保選擇與您使用的版本相對應的軟件包。如果您不確定,請檢查您的MinGW/bin文件夾中存在libgcc_s_sjlj-1.dll或libgcc_s_dw2-1.dll文件中的哪一個。如果MinGW與Code :: Blocks一起安裝,則可能有SJLJ版本。 如果您覺得您的GCC版本無法使用預編譯的SFML庫,請不要猶豫自己構建SFML,這並不複雜。

我試圖編譯鏈接到dw2和sjlj SFML版本的DevC++和Code :: Blocks 導致上面的錯誤。 我的編譯器安裝文件夾中都有dll。我的IDE有問題嗎?我厭倦了猜測新的IDE /編譯器< - > SFML_version組合

後來我試圖用cmake自己構建SFML - 當啓動帶有這個DLL的.exe文件時,我得到錯誤0xC000007B。

我試圖靜態鏈接它,我在鏈接器中按正確順序添加了所需的庫,但它多次返回undefined reference to ...(在兩個IDE中)。

我只是想讓程序運行,前幾天我編譯了其他使用SDL庫的例子,沒有任何問題,它運行完美。

SFML所有嘗試都是對編譯器

回答

1

由於C++ ABI不兼容的SFML庫必須具有完全相同的編譯器編譯爲您的應用程序時,內置32位和相同的。如果你不使用this MinGW compiler,你將不得不自己重建SFML。

+0

我已經構建了一個,但libstdC++ - 6.dll中的問題已經在libstdC++ - 6.dll中,現在在自編程序返回0xC000007B,聽起來像我在錯誤的位數上編譯它後,我將檢查並嘗試鏈接的編譯器。 – Xeverous

+0

它現在可以工作了,它請求了新的文件 - 我將libwinpthread-1.dll從您鏈接的編譯器的\ bin中複製過來,並使用該編譯器重新編譯。該程序啓動,但不顯示像例子中的綠色圓圈 - 窗口是空的 - 顯示它後面的內容。 – Xeverous

+0

它不再希望libgcc_s_sjlj-1.dll – Xeverous

相關問題