我下载了 AGENT++ 的代码,并按照说明进行操作:
autoreconf -i
./configure
make
但是当我运行 ./configure
我得到
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for shared library run path origin... done
checking how to run the C++ preprocessor... g++ -E
checking if libsnmp++ is wanted... (cached) yes
checking if libsnmp++ wants a prefix... (cached) no
checking for snmp... no
checking if libsnmp++ is in /usr/local... no
checking if libsnmp++ is in /usr... no
configure: error: Cannot find suitable libsnmp++ library
我尝试指定:--with-libsnmp-prefix[=DIR]到/usr/lib/x86_64-linux-gnu/其中:
~/Downloads/agent++-4.1.2$ find /usr/ -name libsnmp*
/usr/share/lintian/overrides/libsnmp30
/usr/share/doc/libsnmp-base
/usr/share/doc/libsnmp-dev
/usr/share/doc/libsnmp30
/usr/lib/libsnmp++.a
/usr/lib/libsnmp++.so
/usr/lib/x86_64-linux-gnu/libsnmp.a
/usr/lib/x86_64-linux-gnu/libsnmp.so
/usr/lib/x86_64-linux-gnu/libsnmp.so.30.0.3
/usr/lib/x86_64-linux-gnu/libsnmp.so.30
原来是 snmp++ 包https://www.agentpp.com/api/cpp/snmp_pp.html
配置时首先需要编译安装或指向 agent++
由于提问者已经正确编写,因此有必要先构建"snmp++"库。在这里,您必须下载文件并在主目录下的解压缩文件夹中执行以下三个命令,如类似于"agent++"库的自述文件中所述:
autoreconf -i
./configure
make
之后,您必须以超级用户身份执行另一个命令,以便将库存储在/usr/lib
下的正确位置
sudo make install
只有在以这种方式构建了">snmp++"库之后,才有可能按照其自述文件中的说明构建"agent++"库。