转载的文章,说得很详细,赞一个
项目要做SNMP的网络管理软件,用C++开发,在网上查了些资料,决定用snmp++开发包来做。我用的环境是vs2008,在网上基本就没找到资料,查了很多在vc6.0下编译的,发现大家也都有很多问题,我自己就试了很久才成功,怕之后忘了,来记录下来~~
是在这篇文章的基础上做的http://blog.sina.com.cn/s/blog_56f098eb0100099i.html,http://blog.sina.com.cn/s/blog_56f098eb0100099j.html,谢谢~
1.下载
在官网http://www.agentpp.com/上下载,我是按上文都下载下来的,虽然后来操作的时候发现并没完全用到,不过我还是忠实的根据我成功的过程写吧
LIBDES-l-4.01a 解压后为libdes文件夹
LibTomCrypt v1.17 (这个没用到)解压后为crypt文件夹
SNMP++v3.2.24 解压后为snmp++文件夹
MS VC++7.0 Project Files (这个也没用到)解压后为msvc文件夹
按上文中的说法“经过一系列的解压缩后,我们要形成一个文件夹,名为snmp++,里面至少要包括以上目录include、src、libdes,目录的结构如下:”
这里,我以SNMP++v3.2.24 解压后的snmp++文件夹为主要的目录进行操作,先把libdes文件夹拷贝到snmp++文件夹中,再把snmp++\include\snmp_pp中的.h文件拷贝出来,放到snmp++\include\路径下;此外,还有一个上文特别提到的步骤,即把刚刚拷贝的那些.h文件再拷贝一份到snmp++\目录下。
这块大家可能会觉得很乱,我附图2张,清晰一点。
2.然后就要在Vs2008中编译生成snmp_pp.lib文件,基本就是按照引文做的,可以参照着看,但是由于不是vc6.0,所以有一点不同,操作步骤如下:
(1)在vs2008开发环境下,选择“File”->“New”->"Project"项,在弹出的窗口中选择“Visual C++”树形菜单,其中的"Win32",在右边的窗口选择Win32 Project,工程名为“snmp_pp”,如图所示。
(2)点OK后在新的窗口点Next>,在Application type中选择Static library,如图,点击Finish即可。
(3)在工作区内,为工程添加解压缩后的所有源文件(即snmp++\src目录下的所有后缀为CPP的文件,如图所示,这里添加方法是右击树形列表中的Source Files,在弹出的菜单中选择"Add"->"Existing Item",然后找到你存放snmp++的地方。
(4)按引文所说,为了让编译的链接库支持SNMPV3,要把snmp++\libdes目录下的c文件也添加到Source Files里,这里就不放图了,和上一步方法一样。
(5)用同样的方法,把snmp++\include目录下所有后缀为h的文件,以及snmp++\libdes目录下的h文件添加到Header Files中
(6)文件添加完后,设置工程编译环境。主菜单选"Project”->"Properties"项,弹出的窗口中,按照下图进行设置
(7)由于加入了c文件,需要更改预编译选项,还在同一个窗口中,换到Precompiled Headers的设置中,如图
(8)目录设置。主菜单“Tools”->“Options…”项,弹出的窗口中,按图所示进行操作,添加SNMP++头文件所在的目录snmp++\include,还有snmp++\src,snmp++\libdes
(9)选择“Build”->“Build Solution”项,生成静态链接库文件snmp_pp.lib,我生成的文件放在D:\My Documents\Visual Studio 2008\Projects\snmp_pp\Debug中。
(10)将生成的静态链接库文件snmp_pp.lib直接复制到Vs2008安装目录:C:\Program Files\Microsoft Visual Studio 9.0\VC\Lib中去,就可以像使用VC自带的其他库文件一样使用它了。
原文:http://hi.baidu.com/futuredreamer/blog/item/464bd28f7b6a1fe2f01f3685.html