zoukankan      html  css  js  c++  java
  • 生成snmp++动态库

    一、准备工作:

    1、下载SNMP++ 3.3.11a

    下载地址:https://www.agentpp.com/download.html

    2、下载libdes

    下载地址:https://www.agentpp.com/download.html

    二、QT生成动态库.so

    编译工具:

    1、打开虚拟机,用QtCreator新建一个”C++ Library”项目

     

    2、选择共享库,填上动态库名字

     

    3、选择交叉编译器

     

    4、模块选择

     

    5、删除新建项目时自动产生的.cpp.h文件;在项目文件中新建src,把下载的SNMP++ 3.3.11asrc文件夹的.cpp文件复制到新建项目的src中,并把新添加的文件添加到项目中

     

    6、同理把SNMP++ 3.3.11a中的Include文件夹和libdes文件夹复制到项目目录中,Include文件夹除了.cpp.h外其他文件删除,libdes文件夹中的文件可以不删除,重复上述步骤添加.cpp.c.h文件到项目中去。

     

    7、删除自动生成文件后记得修改.pro文件中的内容,文件目录和.pro如下如所示

     

    8、编译出现以下错误

     

    解决方法:把SNMP++ 3.3.11a中的libsnmp.h复制到项目文件下

     

    8、重新编译出现错误

     

    解决方法:在.pro下添加头文件路径

     

    9、重新编译,出现以下错误

     

    解决方法:因我们使用的是libdes库,找到config_snmp_pp.h,在74行处修改为下图所示,若定义了HAVE_PTHREAD就添加pthread

     

    10、编译成功,可以在构建目录中看见生成.so动态库

     

    三、eclipse CDT生成.so动态库

    编译工具:Linux GCC

    1、新建工程,File->New->C++ Project

     

    2、.cpp.c.h文件和libsnmp.h添加到项目目录下,其他后缀文件可以删除,刷新一下项目后可以看见新添加的目录与文件

     

    3、添加头文件路径,右键项目名->Properties->C/C++ General->Paths and Symbols->Includes->GNU C++

     

    4、编译后出现错误

     

    解决方法:参考上文第9

    5、编译成功,在Debug目录下生成.so文件

     

    四、使用注意事项

    使用时可能会出现以下错误

     

    原因是msec类里面存在一个静态私有成员,要对其初始化。

  • 相关阅读:
    GB50174-2008《电子信息系统机房设计规范》
    Tickets HDU
    HDU
    [长期更新]题解合集
    网络流/费用流题目总结[持续更新]
    [转载]Maximum Flow: Augmenting Path Algorithms Comparison
    [转载]网络流笔记
    网络流各类算法简单总结与比较
    简单的算法备忘录,个人总结[长期更新]
    训练报告 18春组队04 2014西安全国邀请赛
  • 原文地址:https://www.cnblogs.com/qjswxd/p/11870554.html
Copyright © 2011-2022 走看看