编译显示信息如下:
--------------------Configuration: Dhcp_Client - Win32 Debug--------------------
Linking...
Dhcp_ClientDlg.obj : error LNK2005: "unsigned short * MAC_Pool" (?MAC_Pool@@3PAGA) already defined in Dhcp_Client.obj
Debug/Dhcp_Client.exe : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.Dhcp_Client.exe - 2 error(s), 0 warning(s)
但是对MAC_Pool的定义喝应用如下,哪位大侠帮我看看。Searching for 'MAC_Pool'...
.....\Dhcp_Client003\DhcpThread.cpp(32): client_MAC[0] = (MAC_Pool[count] >>8)&0xFF;
.....\Dhcp_Client003\DhcpThread.cpp(33): client_MAC[1] = (MAC_Pool[count] )&0xFF;
.....\Dhcp_Client003\DhcpThread.h(152):extern WORD16 MAC_Pool[1024];
.....\Dhcp_Client003\Dhcp_ClientDlg.cpp(215): MAC_Pool[i] = temp1;
.....\Dhcp_Client003\Dhcp_ClientDlg.cpp(281): if(0 == memcmp(pbDestMac, &MAC_Pool[bLoop], 2))
.....\Dhcp_Client003\Dhcp_ClientDlg.h(23):WORD16 MAC_Pool[1024];
6 occurrence(s) have been found.
--------------------Configuration: Dhcp_Client - Win32 Debug--------------------
Linking...
Dhcp_ClientDlg.obj : error LNK2005: "unsigned short * MAC_Pool" (?MAC_Pool@@3PAGA) already defined in Dhcp_Client.obj
Debug/Dhcp_Client.exe : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.Dhcp_Client.exe - 2 error(s), 0 warning(s)
但是对MAC_Pool的定义喝应用如下,哪位大侠帮我看看。Searching for 'MAC_Pool'...
.....\Dhcp_Client003\DhcpThread.cpp(32): client_MAC[0] = (MAC_Pool[count] >>8)&0xFF;
.....\Dhcp_Client003\DhcpThread.cpp(33): client_MAC[1] = (MAC_Pool[count] )&0xFF;
.....\Dhcp_Client003\DhcpThread.h(152):extern WORD16 MAC_Pool[1024];
.....\Dhcp_Client003\Dhcp_ClientDlg.cpp(215): MAC_Pool[i] = temp1;
.....\Dhcp_Client003\Dhcp_ClientDlg.cpp(281): if(0 == memcmp(pbDestMac, &MAC_Pool[bLoop], 2))
.....\Dhcp_Client003\Dhcp_ClientDlg.h(23):WORD16 MAC_Pool[1024];
6 occurrence(s) have been found.
解决方案 »
- DeviceIoControl求助!为什么总是失败?
- 求助 0和无穷大相乘结果是无穷大吗?
- error C2555: 'CMyApp::InitInstance': overriding virtual function return type dif
- jpg与bmp转化为DIB
- 找工作啊
- 给个DIRECTX 8。0 SDK 的下载地址 20分 急急急!!!
- 一个关于内存文件的问题
- 请问CStringArray有没有容量大小上限问题
- 工作马上一年了,混的不知如何
- 2个avi文件合并为1个avi文件问题?老是不成功
- 该不该去慧通,那里和华为有多大的区别
- 弱弱的问,请问外部硬件采集到的数据,一般通过什么方式传输到计算机
定义在头文件里? 不行的,放在某源文件内
6 occurrence(s) have been found.
在头文件里定义了全局变量,如果包含这个头文件多次,就会重复定义建议在.c.cpp中定义,在.h中声明
extern WORD16 MAC_Pool[];.cpp
WORD16 MAC_Pool[1024];
另外你要把声明和定义的概念不能混淆。声明是在.h文件对变量的说明,可以添加extern修饰符进行作用域说明
定义是.cpp文件中变量生成(内存中开辟空间)的说明。你的问题是由于>1个cpp文件包含了MAC_Pool。