我下载了 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[=目录] 到 /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++”库。 在这里,您必须下载该文件并在主目录下的解压文件夹中执行以下三个命令,如 README 中所述,类似于“agent++”库:
autoreconf -i
./configure
make
之后你必须以超级用户身份执行另一个命令,以便库存储在
/usr/lib
下的正确位置
sudo make install
只有以这种方式构建了“snmp++”库之后,才可以按照其README中的描述构建“agent++”库。
步骤1。 首先构建 SNMP++。
sudo apt-get install autoconf automake libtool
autoreconf -i
autoupdate
./configure
make
sudo make install
第2步.构建Agent++第二个。
cd ..
cd agentx++2.5.2
autoreconf -i
./configure
这里出现如下错误
checking for unistd.h... yes
checking whether _AIX is declared... no
checking whether __linux is declared... yes
./configure: line 7529: syntax error near unexpected token `ac_fn_check_decl'
./configure: line 7529: `fi ac_fn_check_decl "$LINENO" "__sun" "ac_cv_have_decl___sun" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"'
希望我们能一起解决这个问题。