はじめまして。Fixedと言います。
現在、VC++6.0、Windows2000を使用して作業しています。
質問なんですが、afx.hをインクルードすると、以下のような
エラーが出ます。
c:\program files\microsoft visual studio\vc98\mfc\include\afxv_w32.h(14) : fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h>
なぜこのエラーが出るのか分かりません。
CStringを使用と思い、afx.hをインクルードしたところ出ました。
すみませんが、ご教授お願い致します。
windows.hのインクルードをコメントアウトすればいいかと思いますが。
エラーメッセージに書いてある通りです。
CdSさん、早速のレスありがとうございます。
windows.hのインクルードははずしてあるのですが、
やっぱりエラーが出ます。
うーん・・・・
やっぱり、MFCのAppWizardじゃないと駄目なんでしょうか?
> CStringを使用と思い、afx.hをインクルードしたところ出ました。
>
...??
ってことは、SDKでプログラミングしてるって事でしょうか?
CStringを使いたいのなら、最初から素直にMFCを使われたほうがよいのでは。
また、初めからMFCを使われてるのなら、わざわざafx.hをインクルードしなくてもCStringは使えるはずです。
SDKだけどCStringが便利だから使いたいということであれば、
STLのstring型というのが近い機能を提供してくれるようです。
これに関しては私は使ったことがないので、紹介くらいしかできませぬ。
とりあえず、Hello Worldアプリケーションを作成し、stdafx.hのwindows.hをコメントアウトしてafx.hを
インクルードしたら大丈夫なんですが。
どこかでwindows.hをインクルードしてません?
それしか考えられないんですけど。
windows.hをインクルードしているヘッダをインクルードしているというのも考えられますね。
winsock.hとか使うとそうなります。
sugarさん、CdSさんレスありがとうございます。
SDKで作成しています。
まだ、MFCで作成は慣れていないもので・・・
申し訳ないです。
ちょっと、色々やってみます。
MFCも、もうちょっと勉強しなきゃ駄目ですね。
お忙しいところありがとうございました。
お世話になっています。
afx.hのエラーの件解決しました。
結果として、afx.h内にある、windows.hを全てコメント
アウトし、うまく動きましたが・・・・
こう言う事行ってよいものなのでしょうか・・・
一応報告までに。
皆さんありがとうございました。