windows下编译libnet0.10.11

以下编译基于windows下visual studio 2013

(注:编译安装完成之后发现与网上的arp教程中使用的libnet不是一个版本,这个版本太老了,最后没有使用。

       网络教程上使用的是libnet-1.2 左右的版本,而且需要事先安装配置winpcap!)

 

从souceforge上下载libnet0.10.11.zip

http://sourceforge.net/projects/libnet/files/libnet/

解压之后目录结构:

源码文件在lib目录下;

batfiles中是编译用的脚本

msvcmake.bat

@echo off
rem First set up the helper batch files

cd batfiles
copy msvcobj.bat obj.bat
copy msvclib.bat lib.bat
copy msvcexe.bat exe.bat
rem Now do the generic build
if "%1"=="" goto all
goto %1

:all
call makeall
goto end
:lib
call makelib
goto end
:tests
call maketest
goto end
:examples
call makeex
goto end

:end
cd ..

msvcobj.bat

@echo off
cl /DTARGET_MSVC /MD /c /O2 /nologo /I../include /Iinclude %1.c /Fo%1.obj

msvclib.bat

@echo off
lib /NODEFAULTLIB /out:%1.lib %2.obj %3.obj

msvcexe.bat

@echo off
cl /DTARGET_MSVC /MD /O2 /nologo /I../include %1.c ../lib/libnet.lib wsock32.lib

 

 

--------------编译方法---------------

1.将batfile目录下的msvcmake.bat复制到上层目录(libnet)下,双击运行。

会在batfiles目录下生成obj.bat,lib.bat,exe.bat三个文件。

但是提示cl不是内部或者外部命令。本文适用的是vs2013,cl.exe位于如下目录下:

2.将C编译器的路径   C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin;

添加到环境变量PATH中。

3.新建环境变量include

将以下两个路径添加进include:

C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include

4.新建环境变量lib

将以下两个环境变量添加进lib:

C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib

5.双击make.bat成功编译出libnet.lib库

在core和drivers目录下生成了obj文件。

 

-------------使用-------------------

将inlcude/libnet.h和lib/libnet.lib分别放到

C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include 和

C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib        目录中

然后在代码中显式调用相关库:

#pragma comment(lib,"libnet.lib")
#pragma comment(lib,"wsock32.lib")

 

posted @ 2014-09-20 20:30  sunnycs  阅读(881)  评论(0编辑  收藏  举报