1. 程式人生 > >snmp++ 懶人配置及使用法一(VS2010)

snmp++ 懶人配置及使用法一(VS2010)

由於近期需要使用snmp開發,所以找到了snmp++。關於snmp配置和使用的教程已經很多了,這個配置方法的優勢在於清晰、傻瓜。具體步驟如下:

1.下載開發包和工程檔案

地址:http://www.agentpp.com/index.html

主要有:

snmp++ v3.2.25

agent++ v3.5.31

agent++Win32

AgentX++v1.4.18a

Libdes-l-4.01a

每個部分支援的功能不同,收費也不同,snmp++是免費的。再下載一個VC使用的解決方案檔案“MS VC++ 7.0 Project Files”.

下載檔案

兩個“msvc7 **”其實是一樣的。

2.把所有檔案解壓到資料夾

解壓檔案

"projects"資料夾內是VC專案資料夾,如下:

“dynamicLIB.sln”解決方案生成的是*.dll和的匯入庫*.lib,我們以這個為例子。

3.VC編譯

開啟解決方案檔案,一路next下來,轉換之後的解決方案包含了9個專案:

點選生成解決方案,發現有一個錯誤:

直接原因當然很明顯啦,是找不到"iostream.h"標頭檔案。解決方法其實很簡單,使用任何一種方法讓編譯器選擇另一個分支編譯:

把"if(__GNUC__ > 2)改動一下即可,網上百度一下說__GUNC__是gcc編譯器使用的巨集。有興趣的可以詳細驗證一下。

這裡其實也是很好理解的,當“版本大於2”,使用新式的C++風格,即名稱空間。否則使用老式標頭檔案,不用名稱空間。

#if (__GNUC__ > 2)
#include <iostream>
using std::cerr;
using std::cout;
using std::endl;
using std::flush;
#else
#include <iostream.h>
#endif
#ifndef __GNUC__
#include <iostream>
using std::cerr;
using std::cout;
using std::endl;
using std::flush;
#else
#include <iostream.h>
#endif
重新生成,解決!

生成的檔案及路徑如下:



*.dll是生成的動態連結庫,*.lib是生成的匯入庫,由於選擇的是"Debug"配置生成,所以還生成了*.pdb用於除錯。

4.編譯

新建vc解決方案和專案,我們選擇snmp++資料夾下的“consoleExamples”中的檔案“test_app.cpp”

我們遇到了第一個問題,找不到標頭檔案“snmp_pp.h”.

第一,我們通過“Property Manager”,把“snmp++”資料夾下的“include”加入搜尋路徑,這樣以後我們新建的專案可以整合到;

第二,或者直接在程式中包含路徑,#include;

第三,在專案屬性中配置,但是隻對該專案起作用。

以下,以第一個方法為例。

開啟"View"->"Property Manager",雙擊開啟“Microsoft.Cpp.Win32.user Property “。在”VC++ Directories“的”Include Directories“中加入”snmp++\include"資料夾所在的路徑。本文中是”D:\snmp++ demo\snmp++\include“。確定退出,問題解決。編譯後同樣存在”iostream.h“檔案找不到的問題,建議直接使用”iostream“檔案和名稱空間,解決之。圖片見下一篇