tar -zxvf snmp++v3.3.4.tar.gz
cd snmp++-3.3.4/
./configure
make
sudo make install
//測試 snmp++ 代碼
#include <iostream>
#include <snmp_pp/snmp_pp.h>
#include <snmp_pp/oid.h>
using namespace std;
using namespace Snmp_pp;
int main()
{
Oid id("1.2.3.4.5.6");
cout << id.get_printable() << endl;
return 0;
}
//編譯報錯
/usr/local/include/libsnmp.h:220:23: fatal error: iostream.h: 沒有那個文件或目錄
找到報錯的地方,STDCXX_98_HEADERS 沒有定義。
#ifdef STDCXX_98_HEADERS
# include <iostream>
#else
# include <iostream.h>
#endif
把源代碼目錄下的 config.h 複製到 /usr/local/include/ 目錄下。
sudo cp config.h /usr/local/include/
然後在 libsnmp.h 包含config.h。
sudo vim /usr/local/include/libsnmp.h
找到
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
在之前添加
#define HAVE_CONFIG_H
ok,完成。