0

そのため、64 で 32 ビット アプリケーションを構築しようとしています。すべての 64 ビット ライブラリにリンクしており、64 ビット用に使用したすべてを再コンパイルしました。

現在、奇妙なエラーが発生しています。ネット上で同様のエラーがいくつか見られましたが、これらのトピックでは役に立ちません。

この動作を引き起こす何が間違っている可能性がありますか?

警告 C4091: 'typedef ': 変数が宣言されていない場合、'float' の左側は無視されます C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\windef.h エラー C2632: 'float' の後に 'double' が続きます違法です
C:\Program Files\MicrosoftSDKs\Windows\v6.0A\include\windef.h

警告 C4091: 'typedef ': 変数が宣言されていない場合、'double' の左側は無視されます C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\wtypes.h エラー 44 エラー C2632: 'double' の後に ' double' は違法です
C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\wtypes.h

警告とエラーは同じ行に対するものです。明らかに、wtypes.h と windef.h の問題ではありません (もしそうなら、私はそれについて何もできません)。

typedef float               FLOAT;

typedef double DOUBLE;

明らかに、これらはそれ自体で問題ないため、別のものにする必要があります。これを引き起こす私のプロジェクト内のファイルには、

何か案は?

4

1 に答える 1

3

FLOATのように見え、以前は に変更DOUBLEされていまし#definedouble。これは別のライブラリが原因である可能性がありますが、64 ビット コンパイルへの切り替えが原因である可能性は低いと思われます。やってみる

#undef FLOAT
#undef DOUBLE

windows.hまたはwindef.h、警告の直接の原因となるファイルを含める前。

于 2010-06-29T16:34:26.903 に答える