2013-03-31 53 views
7
c:\...random.h|106|error: expected unqualified-id before '__int128' 

當我編譯32位程序時,上面是我得到的錯誤。我正在使用http://sourceforge.net/projects/mingwbuilds/編譯32位時__int128錯誤

爲什麼?我的代碼使用4.7.2編譯得很好,但是我想將錯誤修正更新爲4.8,並且在沒有零時,它將擺脫0用作指針警告的空值。

我想要的許多錯誤修復。它編譯我的x64在Windows上很好。

有沒有辦法讓它編譯x32應用程序?

+1

簡短的回答是沒有。 '__int128'適用於64位系統。 – Mysticial

+0

:S但我的代碼不使用__int128。編譯器可以同時編譯x32和x64:S我使用的最高類型是std :: uint32_t和std :: size_t – Brandon

+3

哦......聽起來就像你的安裝是borked那麼。 – Mysticial

回答

5

__int128由

保護!定義(STRICT_ANSI)& & 定義(_GLIBCXX_USE_INT128)

所以,你既可以使用-ansi(如果你的代碼是嚴格ANSI C++抱怨),由於鏈接器無法找到32位庫,我在連接器中遇到了錯誤。

_GLIBCXX_USE_INT128

在定義 「LIB/GCC/x86_64的-W64-的mingw32/4.8.1 /包括/ C++/x86_64的-W64-的mingw32 /比特/ C++的config.h」我很確定這是由基於工具鏈構建系統的自動配置生成的。

你最好下載的MinGW的海灣合作委員會(二進制)封裝的32位版本,並安裝它們。