C1189 : WINDOWS.H already …

幾つかの,MFC を使用していないプロジェクトをビルドしていると,

--------------------構成: GAtoSTL - Win32 Release--------------------
コンパイル中...
GAtoSTL.cpp
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>
cl.exe の実行エラー

GAtoSTL.obj - エラー 1、警告 0	

最近(2019/03)変更したコードで,意図せず Afx.h などを利用するようになっしまった所があると思われる.
今回の場合,デバッグ版や Linux 環境,VC 14 などでは通っている.


次の様な内容を include している部分に挿入して確認すると,
 #pragma message (“message 1”)
Zip.hxx がうまくない.

#ifndef		I_SUPPORT_ZIP
	#ifdef	_DEBUG
		#include	"i_Zip.hxx"	//	STL と Windows.h
	#else
		#include	"a_Zip.hxx"	//	AfxDisp などを使用
	#endif
#endif

a_Zip.hxx は zip を扱う古い形式( MFC を使用している)のもの.
a_Zip.hxx は使用しないように変更.

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ



コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください