ページ 11

通常コンパイルができない

Posted: 2010年8月29日(日) 10:51
by dic
DirectX SDK 9 Sample のDirectSound関連を追加したいと思い
サンプルをそのままコピーして追加しようとしましたが
コンパイルが通らないです

--------------------構成: スケルトン - Win32 Debug--------------------
コンパイル中...
DXUTsound.cpp
c:\program files\microsoft visual studio\vc98\include\mmsystem.h(113) : error C2146: 構文エラー : ';' が、識別子 'MMVERSION' の前に必要です。
c:\program files\microsoft visual studio\vc98\include\mmsystem.h(113) : fatal error C1004: 予期せぬ EOF が検出されました。
cl.exe の実行エラー

スケルトン.exe - エラー 2、警告 0

とエラーがでてしまいます
mmsystem.h の内部でエラーが起きているようで手が出せません
どこか、具合の悪いインクルードの仕方があるのでしょうか?

ソース全部アップします

開発環境:Visual C++ 6.0 DirectX SDK 9

Re:通常コンパイルができない

Posted: 2010年8月29日(日) 11:13
by へろりくしょん
MMVERSIONの定義はMMSystem.h内で次のようになっています。

typedef UINT MMVERSION; /* major (high byte), minor (low byte) */

エラーの原因は、このUINTが定義されていないからと思われます。

ので、

MMSystem.h をincludeしている1つ前の行で #include <windows> とでもすればいいかもしれません。


追記です。

>MMSystem.h をincludeしている1つ前の行で #include <windows> とでもすればいいかもしれません。
の行ですか、#include <windows.h> ですね。 失礼しました。 画像

Re:通常コンパイルができない

Posted: 2010年8月29日(日) 12:20
by dic
>へろりさん

#include <mmsystem.h> の上に #include <windows.h> を追加することでコンパイルできるように
なりました
そして、ちょっとマルチバイトをANSIにバージョンダウンすることで使えるようになりました
ありがとうございました