yintongshun(踏雪有痕) 你给我发的代码我已经在看了 可是编译的时候出现如下错误:
--------------------Configuration: MAC - Win32 Debug--------------------
Linking...
MACInfo.obj : error LNK2001: unresolved external symbol __imp__inet_ntoa@4
MACInfo.obj : error LNK2001: unresolved external symbol __imp__gethostbyname@4
MACInfo.obj : error LNK2001: unresolved external symbol __imp__gethostname@8
MACInfo.obj : error LNK2001: unresolved external symbol __imp__WSACleanup@0
MACInfo.obj : error LNK2001: unresolved external symbol __imp__WSAStartup@8
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
libcd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/MAC.exe : fatal error LNK1120: 8 unresolved externals
Error executing link.exe.由于没有.dsw文件 我是打开一个文件后将其他所有文件加入工程 用release是一样的错误
--------------------Configuration: MAC - Win32 Debug--------------------
Linking...
MACInfo.obj : error LNK2001: unresolved external symbol __imp__inet_ntoa@4
MACInfo.obj : error LNK2001: unresolved external symbol __imp__gethostbyname@4
MACInfo.obj : error LNK2001: unresolved external symbol __imp__gethostname@8
MACInfo.obj : error LNK2001: unresolved external symbol __imp__WSACleanup@0
MACInfo.obj : error LNK2001: unresolved external symbol __imp__WSAStartup@8
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
libcd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/MAC.exe : fatal error LNK1120: 8 unresolved externals
Error executing link.exe.由于没有.dsw文件 我是打开一个文件后将其他所有文件加入工程 用release是一样的错误
#pragma comment(lib, "ws2_32.lib")
这之后是工程的问题,你需要建立的是一个Win32 Console工程。
2、设置工程属性,使其支持多线程。
在先导里选择!
在MACInfo.cpp中已经有下面的:
#include<winsock2.h>
#pragma comment( lib, "version.lib" )
#pragma comment( lib, "netapi32.lib" )
工程中需要连接ws2_32.lib,你也可以在上面这几行中添加一句:
#pragma comment(lib, "ws2_32.lib")
里面有CPU信息类,网卡信息类,硬盘信息类,如果你不是VC.NET2003,那把这3个类加入你新建的工程中就可以了,使用这3个类的时候方法在MACDlg.cpp中的OnBnClickedButtonTest函数里:
m_MAC=m_MacInfo.GetNetCardMacAddr();
m_csIP=m_MacInfo.GetLocalIP();
m_csName=m_MacInfo.GetLocalName();
CHardDiskInfo hDisk;
m_csMoudleNumber=hDisk.str_DN_Modol;
m_csController=hDisk.str_Controller;
m_csDriveSize=hDisk.str_HardDeskSize+" Bytes";
m_csBufferSize=hDisk.str_HardDeskBufferSize+" Bytes";
m_csSerialNumber=hDisk.str_DN_Serial;
m_csDriveType=hDisk.str_HardDeskType;
m_csRevisionNmuber=hDisk.str_DN_ControllerRevision; //CPU信息
m_csIntelCPUIDMethod=m_CPUInfo.GetIntelCPUID();
UpdateData(FALSE);
其中:相关变量或者实例变量我在MACDlg的头文件定义为public的:
CString m_MAC;
CMACInfo m_MacInfo;
CCPUInfo m_CPUInfo;
CString m_csIP;
CString m_csName;
CString m_csMoudleNumber;
CString m_csController;
CString m_csSerialNumber;
CString m_csRevisionNmuber;
CString m_csDriveSize;
CString m_csBufferSize;
CString m_csDriveType;
CString m_csIntelCPUIDMethod;
包含相关头文件:
#include "MACInfo.h"
#include "CPUInfo.h"
#include "HardDiskInfo.h"
等