、编译动态库

将写完的snmp代理程序编译生成动态库

gcc -c -fpic telnetConfig.c -o telnetConfig.o -I/usr/local/net-snmp/include

gcc -shared telnetConfig.o -o libtelnetConfig.so

其中/usr/local/net-snmp是安装目录,里面有include目录,包含了使用的头文件。

通过下面两条命令,查看安装目录,找到配置文件

net-snmp-config --default-mibdirs

snmptranslate -Dinit_mib

、更改配置文件

找到安装目录中的snmp配置文件,snmpd.conf:

vim /usr/local/share/snmp/snmpd.conf

在最后添加

dlmod telnetConfig /home/tony/.snmp/mibs/libtelnetConfig.so

表示动态添加库,后面的/home/tony/.snmp/mibs/libtelnetConfig.so是产生的so文件的目录。
、启动snmp snmpd 或者 sudo snmpd 调试启动: <install>/snmpd –d –f –Lo –c <install>/snmpd.conf 一般启动 <install>/snmpd –c <install>/snmpd.conf 、snmp移植到交换机中 如果要移植到交换机中,在第一步就要使用交叉编译工具进行编译。 将arm-linux-gcc所在的目录添加到环境变量中 export PATH=$PATH:/home/liutao/proj/switch/brcm/platform/iproc/buildroot/output/host/usr/bin 将生成的.so文件添加到目标板中,例如/lib/。(记住从ftp从服务器下载到目标板的过程中,需要使用bin模式进行下载,否则文件不完整,会有丢失)。
然后将snmpd.conf配置文件也下载到目标板中,例如放在/usr/share/。 在snmpd.conf文件的最后添加 dlmod telnetConfig /lib/libtelnetConfig.so 、启动snmpd并指定配置文件。 ./snmpd -c /usr/share/snmpd.conf

netsnmp编译动态库的更多相关文章

  1. ndk学习8: 编译动态库

    目录: 手工编译动态库 ndk-build编译动态库(Eclipse环境)   手工编译静态库 老规矩还是先手工操作,知其然并知其所以然   需要用到的核心命令: gcc -g -c -fpic -W ...

  2. Linux gcc编译(动态库,静态库)

    1. linux 库路径: /lib , /usr/lib , /usr/local/lib 2.linux 编译静态库 a.编写源文件vi pr1.c void print1(){    print ...

  3. gcc 动态编译 动态库路径

    gcc 动态编译(共享库) 动态编译的可执行文件需要附带一个的动态链接库,在执行时,需要调用其对应动态链接库中的命令优点:体积小,编译快缺点:依赖性高 代码如下: [root@74-82-173-21 ...

  4. Linux:编译动态库时遇到的错误relocation R_X86_64_32 against `a local symbol'

    编译动态库时遇到如下错误: ... ... relocation R_X86_64_32 against `a local symbol' can not be used when making a ...

  5. Linux环境编译动态库和静态库总结

    对Linux环境动态库和静态库的一些基础知识做一些总结, 首先总结静态库的编译步骤. 1 先基于.cpp或者.c文件生成对应的.o文件 2将几个.o文件 使用ar -cr命令 生成libname.a文 ...

  6. gcc 编译动态库和静态库

    Linux C 编程入门之一:gcc 编译动态库和静态库 cheungmine 2012 参考: C程序编译过程浅析 http://blog.csdn.net/koudaidai/article/de ...

  7. 【VS工程设置】 编译动态库,命令行添加参数,不使用预编译头,指定该项目链接 哪种 运行库

    编译动态库 注意: 动态库: [目标文件扩展] => .dll + [配置类型] => 动态库(.dll) 静态库: [目标文件扩展] => .lib + [ 配置类型]=> ...

  8. gflags 编译动态库

    gflags 编译动态库 这里涉及到gflags的安装,原来使用 sudo apt-get install libgflags-dev 但是后面有人在环境中下载安装了libgflags的安装包,解压后 ...

  9. android studio 2.3 编译动态库

    工作需要编译android下的动态库,本以为是一件简单的事,没想到因为工具,以及google本身被墙的原因,折腾了好久. 在windows外的平台搞事情,寿命都得缩短. 一种方案是用eclipse+n ...

随机推荐

  1. C 多级指针

    C多级指针 *p                      -----> &p1 *(*p)                   ----->*(&p1) = &p ...

  2. 测试使用Word发布博客

    Word发布地址:http://www.cnblogs.com/xwgli/services/metablogapi.aspx

  3. [Jobdu] 题目1529:棋盘寻宝

    题目描述: 现在有一个8*8的棋盘,上面放着64个价值不等的礼物,每个小的棋盘上面放置一个礼物(礼物的价值大于0小于1000),一个人的初始位置在棋盘的左上角,每次他只能向下或向右移动一步,并拿走对应 ...

  4. 使struct对象拥有可变大小的数组——(C++深度探索)

    首先摘录<Inside The C++ Object Model>中的一段话: 把单一元素的数组放在一个struct的尾端,于是每个 struct objects 可以拥有可变大小的数组: ...

  5. codeforces 482B. Interesting Array【线段树区间更新】

    题目:codeforces 482B. Interesting Array 题意:给你一个值n和m中操作,每种操作就是三个数 l ,r,val. 就是区间l---r上的与的值为val,最后问你原来的数 ...

  6. cocos2d-x JsonBox 读写

    #include "JsonBox.h" std::string path = "test.json”; //注意引入路径 path = cocos2d::CCFileU ...

  7. centos7 編譯 chmsee

    安装libchm及相关的devel包,安装 xulrunner 及 devel 包!否则后面make的时候会出错! 到解压出来的chmsee/src目录下,找到与你系统对应的Makefile文件,我选 ...

  8. python 判断字符串是否为空用什么方法?

    s=' ' if s.strip()=='': print 's is null' 或者 if not s.strip(): print 's is null'

  9. tomcat架构分析 (connector NIO 实现)

    出处:http://gearever.iteye.com 上一篇简单记录了缺省配置的connector的内部构造及消息流,同时此connector也是基于BIO的实现.除了BIO外,也可以通过配置快速 ...

  10. 一款纯css3实现的机器人看书动画效果

    今天要给大家介绍一款纯css3实现的机器人看书动画效果.整个画面完全由css3实现的绘制,没有使用任何图片元素.机器人的眼睛使用了动画元素.我们一起看下效果图: 在线预览   源码下载 实现的代码. ...