生成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.11a中src文件夹的.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类里面存在一个静态私有成员,要对其初始化。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值