ホーム » 2015 » 2月 » 05

日別アーカイブ: 2015/02/05

2015年2月
1234567
891011121314
15161718192021
22232425262728

カテゴリー

アーカイブ

ブログ統計情報

  • 99,336 アクセス


VC 8 で _ATL_VER が定義される?

先日書いたコードを MFC ダイアログベースの AP で利用してみると,CRegKey の未定義エラー.
コードは,次の様に「_ATL_VER が定義されていれば…」としている.
  #ifdef _ATL_VER
     CRegKey reg ;
     …
  #endif


—— ビルド開始: プロジェクト: SmpMG, 構成: Debug Win32 ——
コンパイルしています…
SmpMGDlg.cpp
…\i_RegGet.hxx(36) : error C2065: ‘CRegKey’ : 定義されていない識別子です。
…\i_RegGet.hxx(36) : error C2146: 構文エラー : ‘;’ が、識別子 ‘reg’ の前に必要です。
…\i_RegGet.hxx(36) : error C2065: ‘reg’ : 定義されていない識別子です。
…\i_RegGet.hxx(37) : error C2228: ‘.Open’ の左側はクラス、構造体、共用体でなければなりません
…\i_RegGet.hxx(39) : error C2228: ‘.QueryDWORDValue’ の左側はクラス、構造体、共用体でなければなりません
SmpMG – エラー 5、警告 0
========== ビルド: 0 正常終了、1 失敗、0 更新、0 スキップ ==========


VC 6 や,VC 8 のコンソール AP としての利用はうまくいっている.
自分で書いた部分では,_ATL_VER が定義される様なインクルードは追加してない.
_ATL_VER は (VS8)\VC\atlmfc\include\AtlDef.h にある.


StdAfx.h でインクルードしているものを順に追いかけていくと,
AfxDisp.h 内で Atlナントカ.h がインクルードされている.
同様の部分の VC 6 の方では Atl~.h はなさそう.


どの様にするのがベターなのかわからないが,AtlBase.h をインクルードする様にした.
  #ifdef _ATL_VER
  #include <AtlBase.h>
  #endif

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.