ヘッダファイルのインクルード

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
asdf

ヘッダファイルのインクルード

#1

投稿記事 by asdf » 7年前

現在、C言語でとあるアプリを作成していますが、
ヘッダファイルの重複がありファイルの実行ができない状態となっています。
困っている状況は下記の通りです。

○状況
下記のインクルード部で#include <windows.h>を挿入するとエラーが出てしまいます。

【インクルード部のコード】
#include <windows.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <tchar.h>
#include <iostream>
#include "IDRCardmng.h"
#include "convtbl.h"

 【エラー内容】
エラー 1 error C2011: 'tagRGBQUAD' : 'struct' 型の再定義
エラー 2 error C2011: 'tagBITMAPINFOHEADER' : 'struct' 型の再定義
エラー 3 error C2011: 'tagBITMAPINFO' : 'struct' 型の再定義
エラー 4 error C2011: 'tagBITMAPFILEHEADER' : 'struct' 型の再定義
*エラーが発生しているファイルはいずれもbitmap.hです


そこでエラー出力にbitmap.hが原因とあったので、そのヘッダファイルを調査したところ、
下記のように重複防止の処理がされておりました。
#ifndef __BITMAP_H__
#define __BITMAP_H__
(省略)
#endif // ! __BITMAP_H__

さらに、<windows.h>の定義位置を最初に宣言して見ましたが、エラーが出力されました。
このエラーを取り除くためにはどうすればよろしいでしょうか。
何分、c言語の開発はほとんどなく未熟者で申し訳ありませんが、よろしくお願い致します。


○開発環境
開発環境 : visual studio 2012 express
OS : windows7 pro

“C言語何でも質問掲示板” へ戻る