stdafx.h内の<afxdb.h>の宣言エラー

I am trying to use CDatabase and for that I have declared in stdafx.h file. When I compile this code I get an error "WINDOWS.H already included. MFC apps must not #include ". Why does this happen? Isn't this the right header file to use CDatabase? This is the default generated code...

#if !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_)
#define AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif//_MSC_VER > 1000

#define WIN32_LEAN_AND_MEAN    //Exclude rarely-used stuff from Windows headers


// Windows Header Files:
#include 

// C RunTime Header Files
#include 
#include 
#include 
#include 

If I add #include after #include > I get the error specified.

ありがとうございました

0
いくつかのコード例がありますか?ヘッダーファイルを何回か読み込むように見えます。 stackoverflow.com/q/2939368/1141095 をご覧ください。
追加された 著者 ezdazuzena,
たぶん、もう少し組織化されていますか?質問を変更してコードをそこに置くことは許されています。人々はあなたがそれらを提供する情報しか持っていないかもしれないことに留意してください。
追加された 著者 ezdazuzena,

2 答え

次の行を追加してください:

#define WIN32_LEAN_AND_MEAN    //Exclude rarely-used stuff from Windows headers

#include    <--
#include    <--
#include     <--

// Windows Header Files:
#include 

But since you didn't use MFC in this project before, you will probably have to change Project properties -> General -> Use of MFC from Use Standard Windows Libraries to Use MFC in a Static Library so that linker is satisfied and doesn't bother you with unresolved external symbol errors.

お役に立てれば ;)

0
追加された
プロジェクトのプロパティ - >一般 - > MFCの使用:スタティックライブラリでMFCを使用する標準Windowsライブラリを使用
追加された 著者 LihO,
MFCはライブラリで、他のライブラリと同じように作業します。 afx * .hヘッダーが含まれているため、Visual StudioのインターフェイスとIntellisenseは、これらのメソッドが宣言されているので、満足しています。しかし、あなたがライブラリファイルに関する情報を提供しないと、それらの実装は利用できません。
追加された 著者 LihO,
私はそれが完了するように私の答えを更新しました;)
追加された 著者 LihO,
偉大な..これは動作します。しかし、私はCDatabaseオブジェクトを宣言した後、いくつかの奇妙なエラーが発生します。 1:)未解決の外部シンボル__endthreadex 2:)未解決の外部シンボル__beginthreadex 何が考えられますか?
追加された 著者 user1191957,
どうもありがとうございました。できます。あなたが気にしないなら、この変更がそれにどのように影響するか私に説明してもらえますか?私はこれに新しいです
追加された 著者 user1191957,
どうもありがとう...
追加された 著者 user1191957,

You need to #include afx-headers first. After that you might still #include , although this is not necessary. So just change the order of your includes and it will work.

0
追加された
偉大な..これは動作します。しかし、私はCDatabaseオブジェクトを宣言した後、いくつかの奇妙なエラーが発生します。 1:)未解決の外部シンボル__endthreadex 2:)未解決の外部シンボル__beginthreadex
追加された 著者 user1191957,