2008年3月3日星期一
MSVC6.0下使用libnet开发
1. 下载新的windows xp sp2 sdk, vc6.0自带的太老。如其中一个头文件
typedef struct npf_if_addr
{
struct sockaddr_storage IPAddress; ///<>sockaddr
struct sockaddr_storage SubnetMask; ///< Netmask for that address.
struct sockaddr_storage Broadcast; ///< Broadcast address.
}npf_if_addr;
如果不使用最新的xp sp2 sdk,就会报错,'IPAddress' uses undefined struct 'sockaddr_storage'其实这是因为vc6.0自带的winsock2.h太老了,只包含了sockaddr的定义,而没有sockaddr_storage的定义,后者定义 可以在windows xp sp2 sdk的winsock2.h中找到。下载地址http://www.microsoft.com/msdownload/platformsdk/sdkupdate/XPSP2FULLInstall.htm,使用滕讯下载或
讯雷等多线程工具快速下载。
2. 在vc6.0中tools->options->directories下添加sdk的include和library路径,并将其置于最上的位置,表示优先
使用windows xp sp2 sdk中的定义。
3. 在vc6.0中tools->options->directories下添加winpcap的include和library路径,libnet的编译依赖于winpcap。
4. 打开,libnet.dsw,在project->settings->link->general->object/library modules加入advapi32.lib。
5. 编译,生成libnet.dll,libnet.lib。
6. 将libnet.dll放到system32目录下,同时注意在进行libnet开发时,加入libnet.lib。
typedef struct npf_if_addr
{
struct sockaddr_storage IPAddress; ///<>sockaddr
struct sockaddr_storage SubnetMask; ///< Netmask for that address.
struct sockaddr_storage Broadcast; ///< Broadcast address.
}npf_if_addr;
如果不使用最新的xp sp2 sdk,就会报错,'IPAddress' uses undefined struct 'sockaddr_storage'其实这是因为vc6.0自带的winsock2.h太老了,只包含了sockaddr的定义,而没有sockaddr_storage的定义,后者定义 可以在windows xp sp2 sdk的winsock2.h中找到。下载地址http://www.microsoft.com/msdownload/platformsdk/sdkupdate/XPSP2FULLInstall.htm,使用滕讯下载或
讯雷等多线程工具快速下载。
2. 在vc6.0中tools->options->directories下添加sdk的include和library路径,并将其置于最上的位置,表示优先
使用windows xp sp2 sdk中的定义。
3. 在vc6.0中tools->options->directories下添加winpcap的include和library路径,libnet的编译依赖于winpcap。
4. 打开,libnet.dsw,在project->settings->link->general->object/library modules加入advapi32.lib。
5. 编译,生成libnet.dll,libnet.lib。
6. 将libnet.dll放到system32目录下,同时注意在进行libnet开发时,加入libnet.lib。
标签: libnet
订阅 博文 [Atom]