计算机网络课程设计一codeblocks创建winpcap的编程环境

时间:2022-08-13 18:21:49

这几天在做计算机网络实验,需要用到winpcap来编程。整个实验需要使用c++语言来实现,身边的同学选择的编辑器很多,有eclipes,有vs等等。我选择的是之前用过的codeblocks,那么如何在codeblocks中配置winpcap编程环境呢?首先,我使用的编译器是mingW,这也是很多同学都在用的,当然也有人选择vc或者其他的,我在这介绍的环境配置都是基于mingW的.

第一步,下载codeblocks,在网上看到的codeblocks自带的mingW编译器版本很低,不太好,我选择的是下载不带编译器的codeblocks,地址:http://www.codeblocks.org/downloads/26#windows   选择没有编译器的版本;

计算机网络课程设计一codeblocks创建winpcap的编程环境

下载后就能安装了...

第二步,配置mingW编译器,下载地址:http://sourceforge.net/projects/mingw/files/latest/downloadsource=files

下载的是一个exe文件,安装完成之后你会发现出现一个下载库的窗口,叫Mingw Installation Manager,这里面有很多需要的文件,注意:大家可以发现最左边有Basic Steup和All Packages两个分类。第一个Basic Steup即为必须要安装的编译类库,All Packages即为所有的类库。为了保险起见,我把所有的类库都安装了。全部安装完之后即会显示绿色。安装后的mingW目录:

计算机网络课程设计一codeblocks创建winpcap的编程环境

下面配置环境变量,我们需要配置这几个变量:

PATH=D:\MinGW\bin;

LIBRARY_PATH=D:\MinGW\lib;D:\MinGW\lib\gcc\mingw32\4.6.2;

C_INCLUDE_PATH=D:\MinGW\include;D:\MinGW\lib\gcc\mingw32\4.6.2\include;

CPLUS_INCLUDE_PATH=D:\MinGW\include;D:\MinGW\lib\gcc\mingw32\4.6.2\include\c++;D:\MinGW\lib\gcc\mingw32\4.6.2\include\c++\backward;D:\MinGW\lib\gcc\mingw32\4.6.2\include\c++\mingw32;

ok,到这里,mingw的安装就算完成了,

现在,我们需要在凑得codeblocks中添加mingW。打开codeblocks,

setting->compiler->global compiler setting->toolchain executables ,在compiler  installation中选择mingw的安装目录,点击ok。

计算机网络课程设计一codeblocks创建winpcap的编程环境

计算机网络课程设计一codeblocks创建winpcap的编程环境 计算机网络课程设计一codeblocks创建winpcap的编程环境

好啦,现在我们写一个C程序试试!

计算机网络课程设计一codeblocks创建winpcap的编程环境

结果:

计算机网络课程设计一codeblocks创建winpcap的编程环境

ok,现在mingw没问题了!

第三步,配置winpcap环境。

下载地址:http://www.winpcap.org/archive/

注意:我下载的是4.1.1版本的,据说最新版不靠谱...你需要下载4.1.1-WinPcap.exe4.1.1-WpdPack.zip.

下载后,exe文件点击安装就行,而.zip文件需要解压到相关目录下,解压后的目录如图所示;

计算机网络课程设计一codeblocks创建winpcap的编程环境

将lib文件夹下面的文件拷到mingw文件下面对应的lib文件夹,同时,将include文件夹下面的文件拷到mingw文件夹下面的include文件夹下.

接着,在codeblocks中引入winpcap的库。

计算机网络课程设计一codeblocks创建winpcap的编程环境

在编译本程序的时候碰到了很多问题,这里想总结一下解决的办法。

之前在网上查找过很多博客,但是发现程序都是在VC下进行编译的,而我的codeblocks用的是MingW编译器进行编译的,之间会有很多区别,VC编译器如何解决我这里就不做介绍了,因为编写C程序还是比较习惯在codeblocks下,个人偏好。配置其实跟VC下的配置差不多,仍然是在Link Libraries下加入Packet.lib和wpcap.lib,这两个库文件是WinPcap提供的;另外,还要添加libws2_32.a这个库,这个库可以在MingW安装目录下的lib文件夹里面找到,VC下面是要添加ws2_32.lib这个库,大家千万不要搞混了,因为有看到很多博客上写的是配置codeblocks添加ws2_32.lib,当然如果是用VC的编译器就没问题,但如果用MingW编译器一般不会报错,但是会出现很多Warning,大家注意一下便是。

 另外,在Search directories的Compiler目录下加入WinPcap的include目录,也可以把MingW安装目录下的include目录添加进去,添不添加关系不大,但是WinPcap的include目录一定是要包含进去的。同样,截图给大家看一下本机配置情况:

计算机网络课程设计一codeblocks创建winpcap的编程环境

到这里基本的环境就配置好了,我们可以写一段代码测试一下:

#include <pcap.h>
main( )
{
pcap_if_t *alldevs;
pcap_if_t *d;
int i=0;
char errbuf[PCAP_ERRBUF_SIZE];


if (pcap_findalldevs(&alldevs, errbuf) == -1)
{
fprintf(stderr,"Error in pcap_findalldevs_ex: %s\n", errbuf);
exit(1);
}


for(d= alldevs; d != NULL; d= d->next)
{
printf("%d. %s", ++i, d->name);
if (d->description)
printf(" (%s)\n", d->description);
else
printf(" (No description available)\n");
}

if (i == 0)
{
printf("\nNo interfaces found! Make sure WinPcap is installed.\n");
return -1;
}


pcap_freealldevs(alldevs);
return 0;
}
运行结果:

计算机网络课程设计一codeblocks创建winpcap的编程环境
ok,大功告成!