在Windows环境下编译NET-SNMP的具体实现步骤


一、准备工作
  1、安装Microsoft Visual Studio 2005 ,其中Visual C++ 为必选组件
  2、安装Active Perl 解析器至C:/usr 目录下
    该步骤必须执行,否则在后期执行配置操作时,会提示没有安装perl解析器的错误,从而无法自动配置。

二、编译NET-SNMP源文件 (基于readme.win32中的Microsoft Visual C++ - Workspace - Building部分)

  1、配置默认安装路径,打开net-snmp-5.1.3/win32/net-snmp/net-snmp-config.h ,将第8行改为#define INSTALL_BASE "C:/usr"
    在net-snmp-config.h文件中,所有的路径都是使用UNIX下的/符号,如果将其改为Windows下的/符号的话,反而会在后期配置时出现路径错误。

  2、在Visual Studio 2005中打开net-snmp-5.1.3/win32/win32.dsw ,点击“全部都是 ”转换工作空间。

  3、单击菜单栏的“生成”下的“配置管理器”,将活动解决方案配置从Debug改成release。此处也可以不修改,但是在后面的安装过程中,需要加入“-debug”参数。(后续内容以不修改为例)。

  4、在右侧解决方案资源管理器中,依次对libagent、libhelpers、libnetsnmptrapd、snmplib、netsnmpmibs 这五个项目单击鼠标右键,选择“重新生成 ”。

  5、单击菜单栏的“生成”下的“生成解决方案 ”。

  6、单击菜单栏的“生成”下的“配置管理器”,在“项目上下文中”[color=red]去掉[/color]对libagent、 libhelpers、libnetsnmptrapd、snmplib、netsnmpmibs这五个项目的选择,其余不变。

  7、单击菜单栏的“生成”下的“重新生成 ”。

  8、编译结束之后,单击菜单栏的“文件”下的“[color=red]关闭解决方案[/color]”,退出。

三、安装NET-SNMP (基于readme.win32中的Microsoft Visual C++ - Workspace - Installing部分)
  1、打开net-snmp-5.1.3/win32/install-net-snmp.bat ,检查第12行是否为set INSTALL_BASE="c:/usr" ,不是的话请改成这个。

  2、打开命令提示符窗口,进入net-snmp-5.1.3/win32 目录下,运行 install-net-snmp.bat -debug 安装。
    如果编译的时候将活动解决方案配置改成了release的话,直接运行install-net-snmp.bat即可。
  3、拷贝net-snmp-5.1.3/win32/local/*.bat 文件至C:/usr/bin 目录下。
    该步骤本应该在执行批处理的时候自动执行,但实际上这些文件并没有被拷贝过去,所以我们必须手动进行,否则无法配置。

四、检查文件是否完整 ,在C:/usr/bin目录下应该存在下列22个文件
mib2c.bat、snmpconf.bat、traptoemail.bat、snmpconf、snmpbulkget.exe、 snmpbulkwalk.exe、snmpd.exe、snmpdelta.exe、snmpdf.exe、snmpget.exe、 snmpgetnext.exe、snmpnetstat.exe、snmpset.exe、snmpstatus.exe、 snmptable.exe、snmptest.exe、snmptranslate.exe、snmptrap.exe、snmptrapd.exe、 snmpusm.exe、snmpvacm.exe、snmpwalk.exe

五、配置NET-SNMP (基于readme.win32中的Configuring Net-SNMP部分)

  1、打开C:/usr/bin/snmpconf.bat ,检查第2行是否为set MYPERLPROGRAM=c:/usr/bin/snmpconf ,不是的话请改成这个。

  2、打开C:/usr/bin/snmpconf ,查找所有/usr/local/ 并替换为C:/usr/
    该步骤必须执行,snmpconf中的文件路径采用的是UNIX下的/usr/local/,这里必须改为Windows下的C:/usr/,但 /符号仍然保持UNIX下的/符号,不用改成windows下的/符号,否则运行时会提示无法创建路径。

  3、运行 snmpconf -i

  4、选择 3: snmp.conf

  5、选择 3: Textual mib parsing

  6、选择 1: Specifies directories to be searched for mibs.

  7、输入 c:/usr/share/snmp/mibs

  8、输入 finished 回车 finished 回车 quit 回车,正常退出。

  9、将C:/usr/share/snmp 目录下的snmp.conf 拷贝至C:/usr/etc/snmp 目录。

  10、拷贝net-snmp-5.1.3/win32/EXAMPLE.conf.win32C:/usr/etc/snmp 目录下,并改名snmpd.conf

  11、打开刚刚拷贝的snmpd.conf ,将第71行改为com2sec local    localhost      public
    原文件中71行的COMMUNITY部分必须被改成public,COMMUNINTY只是个例子,不修改的话后期无法正常执行。

  12、删除或者注释掉第72行
    理由与上一条相同,NETWORK/24也只是个例子。

六、运行NET-SNMP

  1、打开一个命令提示符窗口,运行 snmpd -f -Le -d

  2、提示如下则正确运行:
    NET-SNMP version 5.1.3

  3、新开一个命令行窗口,运行 snmpget -c public -v 2c localhost system.sysUpTime.0

  4、当前窗口提示如下:
    SNMPv2-MIB::sysUpTime.0 = Timeticks: (8279) 0:01:22.79

  5、原命令行窗口提示如下:
    Received 41 bytes from 127.0.0.1 76
    0000: 30 27 02 01 01 04 06 70 75 62 6C 69 63 A0 1A 02    0'.....public... SMM)
    0016: 02 0F BC 02 01 00 02 01 00 30 0E 30 0C 06 08 2B    .........0.0...+
    0032: 06 01 02 01 01 03 00 05 00                  .........
    Received SNMP packet(s) from 127.0.0.1
     GET message
          -- SNMPv2-MIB::sysUpTime.0
    Sending 43 bytes to 127.0.0.1
    0000: 30 29 02 01 01 04 06 70 75 62 6C 69 63 A2 1C 02    0).....public...
    0016: 02 0F BC 02 01 00 02 01 00 30 10 30 0E 06 08 2B    .........0.0...
    0032: 06 01 02 01 01 03 00 43 02 20 57              .......

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在Windows编译net-snmp,可以使用Qt5进行编译。以下是一个基本的步骤概述: 1. 安装Qt5开发环境:从Qt官方网站下载并安装Qt Creator,以及Qt5的开发工具包。 2. 下载net-snmp源代码:从net-snmp的官方网站下载源代码,将其解压缩到本地。 3. 配置Qt Creator环境:打开Qt Creator,创建一个新的Qt项目,并将net-snmp的源代码文件添加到项目中。 4. 配置编译器:从Qt Creator的选项菜单中选择“工具”>“选项”,在“Kits”选项卡中配置所需的编译器。 5. 配置项目:在Qt Creator中打开.pro项目文件,配置项目的构建设置,例如目标平台和目标构建方式。 6. 添加Qt库:将所需的Qt库添加到项目中,以便可以在代码中使用Qt的功能和类。 7. 配置依赖项:net-snmp可能有一些依赖项,例如Windows SDK或其他第三方库。请确保这些依赖项也已正确配置,并且其头文件和库文件路径正确设置。 8. 构建和编译:使用Qt Creator的构建选项编译和构建net-snmp项目。 9. 运行和测试:编译成功后,使用Qt Creator的调试器或直接运行生成的可执行文件来测试net-snmp项目。 以上是一个基本的步骤指引,具体步骤可能会因环境和配置而有所不同。在实施过程中可能会遇到一些问题和挑战,需要根据实际情况进行解决。建议参考Qt和net-snmp的官方文档和支持论坛,以获取详细的指南和问题解答。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值