snmp++ 懶人配置及使用法一(VS2010)
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“檔案和名稱空間,解決之。圖片見下一篇