主题:[讨论]error LNK2005该如何解决呢?
我在对话框上放置了3个组合框
组合框测试Dlg.h内class CMyDlg : public CDialog中增加了:
CComboBox *pCombox1;
CComboBox *pCombox2;
CComboBox *pCombox3;
以及在组合框测试Dlg.h内增加了:
int Combo1_index;
int Combo2_index;
int Combo3_index;
其它在组合框测试Dlg.cpp中做了如下改动:
在OnInitDialog()添加了如下代码:
pCombox1 = (CComboBox*)GetDlgItem(IDC_COMBO1);
pCombox2 = (CComboBox*)GetDlgItem(IDC_COMBO2);
pCombox3 = (CComboBox*)GetDlgItem(IDC_COMBO3);
pCombox1 -> ResetContent();
pCombox1 -> AddString("1");
pCombox1 -> AddString("2");
pCombox1 -> SetCurSel(0);
pCombox2 -> ResetContent();
pCombox2 -> AddString("3");
pCombox2 -> AddString("4");
pCombox2 -> SetCurSel(0);
GetDlgItem(IDC_COMBO3) -> EnableWindow(false);
Combo1_index = pCombox1 -> GetCurSel();
在OnSelchangeCombo1()中添加:
Combo1_index = pCombox1 -> GetCurSel();
switch(Combo1_index)
{
case 0:
pCombox2 -> ResetContent();
pCombox2 -> AddString("1");
pCombox2 -> AddString("2");
pCombox2 -> SetCurSel(0);
break;
case 1:
pCombox2 -> ResetContent();
pCombox2 -> AddString("5");
pCombox2 -> AddString("6");
pCombox2 -> SetCurSel(0);
break;
default:
break;
}
可是编译以后出现错误:
--------------------Configuration: 组合框测试 - Win32 Debug--------------------
Compiling...
组合框测试.cpp
Generating Code...
Compiling...
组合框测试Dlg.cpp
Generating Code...
Linking...
组合框测试Dlg.obj : error LNK2005: "int Combo1_index" (?Combo1_index@@3HA) already defined in 组合框测试.obj
组合框测试Dlg.obj : error LNK2005: "int Combo2_index" (?Combo2_index@@3HA) already defined in 组合框测试.obj
组合框测试Dlg.obj : error LNK2005: "int Combo3_index" (?Combo3_index@@3HA) already defined in 组合框测试.obj
Debug/组合框测试.exe : fatal error LNK1169: one or more multiply defined symbols found
执行 link.exe 时出错.
组合框测试.exe - 1 error(s), 0 warning(s)
因为刚刚学习VC++,不知道怎么解决,请各位高人指导一下该怎么修改呢???
注:工程文件在附件里。
组合框测试Dlg.h内class CMyDlg : public CDialog中增加了:
CComboBox *pCombox1;
CComboBox *pCombox2;
CComboBox *pCombox3;
以及在组合框测试Dlg.h内增加了:
int Combo1_index;
int Combo2_index;
int Combo3_index;
其它在组合框测试Dlg.cpp中做了如下改动:
在OnInitDialog()添加了如下代码:
pCombox1 = (CComboBox*)GetDlgItem(IDC_COMBO1);
pCombox2 = (CComboBox*)GetDlgItem(IDC_COMBO2);
pCombox3 = (CComboBox*)GetDlgItem(IDC_COMBO3);
pCombox1 -> ResetContent();
pCombox1 -> AddString("1");
pCombox1 -> AddString("2");
pCombox1 -> SetCurSel(0);
pCombox2 -> ResetContent();
pCombox2 -> AddString("3");
pCombox2 -> AddString("4");
pCombox2 -> SetCurSel(0);
GetDlgItem(IDC_COMBO3) -> EnableWindow(false);
Combo1_index = pCombox1 -> GetCurSel();
在OnSelchangeCombo1()中添加:
Combo1_index = pCombox1 -> GetCurSel();
switch(Combo1_index)
{
case 0:
pCombox2 -> ResetContent();
pCombox2 -> AddString("1");
pCombox2 -> AddString("2");
pCombox2 -> SetCurSel(0);
break;
case 1:
pCombox2 -> ResetContent();
pCombox2 -> AddString("5");
pCombox2 -> AddString("6");
pCombox2 -> SetCurSel(0);
break;
default:
break;
}
可是编译以后出现错误:
--------------------Configuration: 组合框测试 - Win32 Debug--------------------
Compiling...
组合框测试.cpp
Generating Code...
Compiling...
组合框测试Dlg.cpp
Generating Code...
Linking...
组合框测试Dlg.obj : error LNK2005: "int Combo1_index" (?Combo1_index@@3HA) already defined in 组合框测试.obj
组合框测试Dlg.obj : error LNK2005: "int Combo2_index" (?Combo2_index@@3HA) already defined in 组合框测试.obj
组合框测试Dlg.obj : error LNK2005: "int Combo3_index" (?Combo3_index@@3HA) already defined in 组合框测试.obj
Debug/组合框测试.exe : fatal error LNK1169: one or more multiply defined symbols found
执行 link.exe 时出错.
组合框测试.exe - 1 error(s), 0 warning(s)
因为刚刚学习VC++,不知道怎么解决,请各位高人指导一下该怎么修改呢???
注:工程文件在附件里。