阅读:1968回复:0
关于vc编译错误--error LNK2019,请高手帮帮忙!
今天编了一个简单的程序,但是运行的时候报错说是编译连接错误。
错误是:arp error LNK2019: 无法解析的外部符号 _GetAdaptersInfo@8 ,该符号在函数 "public: void __thiscall CarpDlg::OnIP(void)" (?OnIP@CarpDlg@@QAEXXZ) 中被引用 部分代码如下: void CarpDlg::OnMAC() { // TODO: 如果该控件是 RICHEDIT 控件,则它将不会 // 发送该通知,除非重写 CDialog::OnInitDialog() // 函数并调用 CRichEditCtrl().SetEventMask(), // 同时将 ENM_CHANGE 标志“或”运算到掩码中。 // TODO: 在此添加控件通知处理程序代码 PIP_ADAPTER_INFO pAdapterInfo; PIP_ADAPTER_INFO pAdapter = NULL; CString tmpStr; int i; DWORD dwRetVal = 0; pAdapterInfo = (IP_ADAPTER_INFO *) malloc(sizeof(IP_ADAPTER_INFO)); unsigned long ulOutBufLen = sizeof(IP_ADAPTER_INFO); if(GetAdaptersInfo(pAdapterInfo, &ulOutBufLen) == ERROR_BUFFER_OVERFLOW) { free(pAdapterInfo); pAdapterInfo = (IP_ADAPTER_INFO *) malloc(ulOutBufLen); } if((dwRetVal = GetAdaptersInfo(pAdapterInfo, &ulOutBufLen)) == NO_ERROR) { pAdapter = pAdapterInfo; while (pAdapter) { for (i = 0; i<=( pAdapter->AddressLength-1); i++) { if (i == (pAdapter->AddressLength - 1)) tmpStr.Format("%.2X", (int) pAdapter->Address); else tmpStr.Format("%.2X-", (int) pAdapter->Address); m_mac.Insert(m_mac.GetLength(), tmpStr); } } } } 个人认为程序是错在这边,因为原来的程序运行正确,后来加上这个就错了。ONMAC()是一个编辑框,其中m_mac是该编辑框的一个变量。 我是想通过这段程序将网卡的MAC地址输出到编辑框中,其中GetAdaptersInfo函数需要头文件iphlpapi.h,我已经加了。 我运行环境是vc2003. 请高手帮帮忙!!! 如果要配置什么链接器啊什么的,希望能把步骤写一下。 万分感谢!!! |
|