ヘッダファイルのインクルード
Posted: 2016年9月28日(水) 19:48
現在、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
ヘッダファイルの重複がありファイルの実行ができない状態となっています。
困っている状況は下記の通りです。
○状況
下記のインクルード部で#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