2015年5月27日水曜日

Windows:プリコンパイルヘッダの恐怖

adpcmがちゃんと鳴らない原因を探るため、DxLibを使わないWindowsアプリを
作成中。

コンソールアプリでは、ZPDを分解してadpcmが一つづつ鳴る事を確認!
やった!

次は、ウィンドウアプリだ、ということで、ウィザードに任せて空のアプリを作り、
そこにいつものx68sound.h sound_iocs.h x68sound_load.cpp sound_iocs.cpp
を加えてビルド。エラー出まくり。

プリコンパイルヘッダがなんだと色々文句(warning)が出てきてるし、エラーも
出てビルドできず。

色々やるもダメで、帰宅。

ウチにいる間に頭が冷却されたのか、今朝、もう一回やってみたら、うまくいった。

原因はプリコンパイルヘッダだった!

stdafx.h stdafx.cpp

これらは、コンパイルのスピードをアップするもので、何か規約的なものがあって
それに沿って作られていれば非常にありがたいものらしい。コンパイルの時間が
3倍になるとか!

http://www.geocities.co.jp/Hollywood/2358/mfc_7.html

でも、現代ではCPUのスピードもあがってビルドで待たされる事はほぼ無いよね。

なので、

<< C/C++→プリコンパイル済みヘッダー→プリコンパイル済みヘッダーファイルを使用 >>

これをオフにしてみた。そしたら動いた!

あ、あと一箇所、UNICODEをマルチバイトにする必要もある。

<<全般→文字セット→マルチバイト文字セットを使用する>>

これでDLLが読み込まれてた。

でもまだadpcmを鳴らすトコまでは行ってない。どうなるのか!?

0 件のコメント:

コメントを投稿