私はVC++でフォームアプリケーションを使用しています。メインフォーム、つまりForm1.hと、child.hという名前の子フォームがあります。form1.hのボタンクリックでchild.hフォームを呼び出しています。child.hを呼び出すには、Form1.hにChild.hを含める必要があります。
Form1.hで次のコードを使用しました
#incude "Child.h"
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
Child^ c=gcnew Child;
c->Visible=true;
}
そしてChild.hでは私はいくつかの処理を行っています。このために、関数名とグローバル変数名を持つparam.hという名前のヘッダーファイルを1つ作成しました。Child.hファイルにparam.hを含めました。
そしてparam.hは
#ifndef param_h_seen
#define param_h_seen
#define LED_Line 4
#define CALIBRATION_MODE 0
typedef unsigned __int32 uint32_t;
typedef unsigned __int8 uint8_t;
/****for LED ROI entered by user***/
int x_of_roi=6;
int y_of_roi=10;
/********************************/
/*************for graph ROI*******/
int ROIwidth=16;
int ROIheight=4096;
/********************************/
int LED_num= 64;
unsigned short *calib_factor;
/*********functions*****************/
int find_area(unsigned char *intensity,int start);
void DetectRectangle();
/***************************************/
#endif
child.hを含めた後エラーが表示されています
PUMA_LED_TESTER.obj : error LNK2005: "unsigned short * calib_factor" (?calib_factor@@3PAGA) already defined in Child.obj
PUMA_LED_TESTER.obj : error LNK2005: "int x_of_roi" (?x_of_roi@@3HA) already defined in Child.obj
PUMA_LED_TESTER.obj : error LNK2005: "int y_of_roi" (?y_of_roi@@3HA) already defined in Child.obj
PUMA_LED_TESTER.obj : error LNK2005: "int ROIwidth" (?ROIwidth@@3HA) already defined in Child.obj
PUMA_LED_TESTER.obj : error LNK2005: "int ROIheight" (?ROIheight@@3HA) already defined in Child.obj
PUMA_LED_TESTER.obj : error LNK2005: "int LED_num" (?LED_num@@3HA) already defined in Child.obj
なぜこれらのエラーが発生するのかわかりませんが、これらのエラーを解決するための解決策を教えてください。
前もって感謝します