首页 > 代码库 > windows下编译配置libnet-1.2-rc3

windows下编译配置libnet-1.2-rc3

 

官网:http://packetfactory.openwall.net/projects/libnet/

下载(有zip和tar.gz两个版本):https://github.com/sam-github/libnet/releases

解压之后:

编译步骤:

  1. 将libnet-libnet-1.2-rc3复制到D盘
  2. 双击libnet目录下的msvcbuild.bat文件,之后就会在src目录下生成libnet.dll和libnet.lib

-----------------------------------------------------------------------------------------------------------------

(注: 如果直接双击编译,事先需要按照windows下编译libnet0.10.11中所述配置vs中vc编译器的相关目录。要么就直接从vs2013的命令行控制台中进入

    libnet目录下执行msvcbuild.bat),vs2013的命令行在工具->库程序包管理器->程序包管理器控制台    推荐后者

cd d:cd .\libnet-libnet-1.2-rc3\libnetmsvcbuild.bat

编译过程中有一堆warning不过最后成功编译。

------------------------------------------------------------------------------------------------------------------

详细的编译过程参见:http://www.verydemo.com/demo_c173_i160089.html

其中对一些出现的错误进行了描述。这里也将其摘录至文章末尾~

 

在D盘建立目录:

libnet-1.2-r3-build/bin

libnet-1.2-r3-build/include

libnet-1.2-r3-build/lib

分别将libnet-libnet-1.2-rc3/libnet/src中的libnet.dll和libnet.lib复制到bin和lib目录中,

将libnet-libnet-1.2-rc3/libnet/include目录复制为libnet-1.2-r3-build/include

 

在系统环境变量PATH中添加:libnet-1.2-r3-build/bin

在vs中vc++目录中配置include和lib,在link输入中添加libnet.lib

 (注:修改环境变量后要重启vs才能对vs生效)

 

至此libnet的开发配置就结束了~

 

 

 

 

 

 

 

 

---------------------------------------------------------------------------------

from:http://www.verydemo.com/demo_c173_i160089.html

libnet编译,windows/Linux

windows下

1.下载安装包libnet-libnet-1.2-rc2.zip

https://github.com/sam-github/libnet/releases

2.解压缩到D:\libnet-libnet-1.2-rc2目录下
3.下载WinPcap_4_1_2.zip和WpdPack_4_1_2.zip
    安装WinPcap_4_1_2
    解压WpdPack_4_1_2.zip解压到D:\WpdPack

4.编译

   3.1 打开VS -> Visual Studio Tools -> Visual Studio 命令提示(2010)

   3.2 切换到目录D:\libnet-libnet-1.2-rc2\libnet

   3.3 执行msvcbuild.bat

   3.4 其他

       a. 提示找不到“pcap.h”。 

           修改msvcbuild.bat中的“@set WINPCAP=..\..\..\WpdPack”为“@set WINPCAP=D:\WpdPack”

       b. libnet_dll.c(32) : fatal error C1083: 无法打开包括文件:“common”: No such file or directory

          将libnet_dll.c中32行的 #include "common" 改成 #include "common.h" 。

      c.  libnet_raw.c(44) : error C2054: 在“socklen_t”之后应输入“(”
           libnet_raw.c(45) : error C2082: 形参“libnet_open_raw4”的重定义
           libnet_raw.c(45) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)

          将libnet_raw.c中35~37行的内容注释掉:

              #ifndef HAVE_SOCKLEN_T
              typedef int socklen_t
              #endif

          将libnet_raw.c中70行的 socklen_t len; 改成 int len; 。

5.生成结果

    在目录D:\libnet-libnet-1.2-rc2\libnet\src下生成libnet.lib、libnet.dll。

-----------------------
Linux下

1.下载安装包libnet-1.2-rc2.tar.gz 

http://sourceforge.net/projects/libnet-dev/
2.解压缩libnet-1.2-rc2.tar.gz 
   tar zxvf libnet-1.2-rc2.tar.gz
3.编译
  3.1 ./configure
  3.2 make
  3.3 make install
4.生成结果
   在libnet-1.2-rc2/src/.libs/目录下生成libnet.a、libnet.so。

windows下编译配置libnet-1.2-rc3