8
c:\...random.h|106|error: expected unqualified-id before '__int128'

32 ビット プログラムをコンパイルすると、上記のエラーが表示されます。私はhttp://sourceforge.net/projects/mingwbuilds/を使用しています

なんで?私のコードは 4.7.2 で問題なくコンパイルされましたが、バグ修正のために 4.8 に更新したかったのですが、ゼロがない場合にポインター警告の null 値として使用される 0 が削除されます。

私が望むバグ修正の多く。Windowsでx64のものをうまくコンパイルします。

x32 アプリケーションをコンパイルする方法はありますか?

4

1 に答える 1

7

__int128 はによって保護されています

!defined( STRICT_ANSI ) && defined(_GLIBCXX_USE_INT128)

したがって、-ansi を使用することもできます (コードが厳密に ansi c++ に準拠している場合)。リンカーが 32 ビット ライブラリを見つけられないという事実により、リンカーでエラーが発生しました。

_GLIBCXX_USE_INT128

「lib/gcc/x86_64-w64-mingw32/4.8.1/include/c++/x86_64-w64-mingw32/bits/c++config.h」で定義されています。これは、に基づく自動構成によって生成されたと確信しています。ツールチェーンが構築されるシステム。

mingw gcc (バイナリ) パッケージで 32 ビット バージョンをダウンロードして、それらもインストールすることをお勧めします。

于 2014-01-10T00:31:04.880 に答える