snmp++库文件编译

现在agent++ 网站上的SNMP版本是3.3.4,但是根据网上所有的教程来操作,包括为数不多的一本书:《visual c++开发基于SNMP的网络管理软件》,也不能实现编译成静态链接库文件,经过一天的摸索(包内文档的readme很重要),终于完成了编译,我觉得最主要的问题还是要了解VS的编译环境,缺什么就加什么。

篇幅较长,觉得啰嗦照图操作

首先下载三个文件解压完成并复制到同一文件夹SNMP++下

其实不需要像其他教程一样各种复制添加,我也那样试过,是可以的,但是其他教程说那个VS2013之类的没用到,觉得没什么用,刚开始我也这样觉得,觉得就是.h,.cpp管用,但是我研究后发现,vs2013下的4个文件夹就是4个VS的工程文件夹,这4个工程文件夹直接可以生成4个静态链接库,agent++和agentx++是代理开发用的,如果只是开发管理站的完全可以删去,我们只需要生成libdes.lib和SNMP++.lib.

libdes是用来支持SNMPv3的DES数据加密功能,在SNMP++的文件夹下的一个README中有:

实现SNMPv3需要OpenSSL,libdes,libtomcrypt其中之一个,libdes是最简单实施的,所以只需要根据VS2013文件夹下的libdes来直接生成libdes.lib.

这个生成没有问题,直接点击SNMP++/vs2013/libdes/libdes.sln,然后就能生成libdes.lib。

最麻烦的就是生成SNMP++.lib了

1,首先还是点击SNMP++/VS2013/SNMP++/SNMP++.sln,然后生成文件,你会发现各种找不到,原来装放源代码的文件夹SNMP++/SNMP++-3.3.4是有版本号,而工程文件的配置文件中没有版本号,所以得把版本号去掉

2,继续生成

这个libsnmp.h是在SNMP++\vs2013\SNMP++\include下,所以要到项目属性页添加

有几个D盘下的目录是本来就有的,是错误的链接目录,不用管

cpp文件的头文件找不到了,所以继续添加目录

我也纳闷了,头文件在SNMP++\snmp++\include\snmp_pp下,cpp文件在SNMP++\snmp++\src下为什么还是找不到呢,include"snmp_pp/***.h"包含的文件找不到,说明编译器找不到snmp_pp这个文件夹,这个文件夹在SNMP++\snmp++\include下,所以把这个也加到编译目录中去试试。

然后就OK了。

3,继续运行,错误如下

左思右想发现应该吧libdes目录加到检索目录中

然后再运行就OK啦

注1:如果后面出现这种错误

就右键点项目,然后卸载项目,再重新加载,生成,就OK了。

注2:以下的文件是VS2013下的README.win32,用UE打开显示如下,简单点就是说把SNMP++\snmp++\\include/snmp_pp/config_snmp_pp.h删掉,然后把VS2013\SNMP++\include\snmp_pp\config_snmp_pp.h复制过来,防止版本错误。

注3,如果不许要SNMPv3的话可以在config_snmp_pp.h里面修改,把箭头指向的1改为0,这样的话libdes.lib也不用加载,那个文件夹也不用下载了,文档说OpenSSL和libdes任选一个,所以第二个箭头也改为0.但是理论是这样的,我把第一个改了之后又是一堆错误,那就这样吧...

猜你喜欢

转载自blog.csdn.net/qq_16434435/article/details/81098053