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,完成。