Win32下libsmi编译
2013-10-22 20:52
190 查看
libsmi开发包可以用作SNMP开发,最近需要在windows平台编译出libsmi的lib。资料提示通过NMAKE来编译,但总是会报错,加上对makefile不是很了解,所以一直没有成功。无奈之下试试直接在IDE中编译,没有想到竟然成功了,很是高兴,具体步骤如下:
1. 从http://www.ibr.cs.tu-bs.de/projects/libsmi/download.html?lang=de上download libsmi-0.4.5的源码包。解压后会看到lib,win等子目录和文件。lib里面放的是源文件及头文件,win下面放的是用来在windows下编译的源文件和头文件。
2. 在VC6.0中新建“Win32 Static Library”工程,然后添加所需要的源文件。分为三个步骤:
(1)添加lib和win目录下的源文件
(2)创建unistd.h头文件,文件内容如下:
#ifndef _UNISTD_H#define _UNISTD_H
#include <io.h>#include <process.h>
#endif /* _UNISTD_H */
并将unistd.h放到lib目录下(unistd.h是linux中的头文件,在windows下不存在,所以要自己创建)
(3)添加lib和win目录下的头文件
3. 设置VC6.0的编译环境,具体步骤如下:
(1) project->settings->c/c++, category选择Code Generation,use-runtime library选择Multithreaded DLL
(2) tools->options->directories, 在include files中添加lib和win两个目录的路径
4. Build
5. 虽然会出现warnning,但不影响编译结果。在VC工程中做一些设置就可以是用libsmi提供的方法来做开发了。具体设置如下:
(1) project->settings->link,在object/library modules下面添加上面编译出来的.lib文件
(2) 在tools->options->directories->include files中添加添加smi.h所在的目录,或者直接把smi.h添加到系统的头文件目录中
(3) 在tools->options->directories->Library files中添加编译出来的.lib文件所在的目录,或者直接把该.lib文件添加到系统的lib文件目录中
(4) project->settings->c/c++, category选择Code Generation,use-runtime library选择Multithreaded DLL(不然在link的过程中会出现很多“MSVCRT.lib(MSVCRT.dll) : error LNK2005”的错误,这是因为DLL和LIB被同时引用造成的)
(5) 然后在我们的程序中#include<smi.h>,就可以开始做SNMP的开发了,GO!
1. 从http://www.ibr.cs.tu-bs.de/projects/libsmi/download.html?lang=de上download libsmi-0.4.5的源码包。解压后会看到lib,win等子目录和文件。lib里面放的是源文件及头文件,win下面放的是用来在windows下编译的源文件和头文件。
2. 在VC6.0中新建“Win32 Static Library”工程,然后添加所需要的源文件。分为三个步骤:
(1)添加lib和win目录下的源文件
(2)创建unistd.h头文件,文件内容如下:
#ifndef _UNISTD_H#define _UNISTD_H
#include <io.h>#include <process.h>
#endif /* _UNISTD_H */
并将unistd.h放到lib目录下(unistd.h是linux中的头文件,在windows下不存在,所以要自己创建)
(3)添加lib和win目录下的头文件
3. 设置VC6.0的编译环境,具体步骤如下:
(1) project->settings->c/c++, category选择Code Generation,use-runtime library选择Multithreaded DLL
(2) tools->options->directories, 在include files中添加lib和win两个目录的路径
4. Build
5. 虽然会出现warnning,但不影响编译结果。在VC工程中做一些设置就可以是用libsmi提供的方法来做开发了。具体设置如下:
(1) project->settings->link,在object/library modules下面添加上面编译出来的.lib文件
(2) 在tools->options->directories->include files中添加添加smi.h所在的目录,或者直接把smi.h添加到系统的头文件目录中
(3) 在tools->options->directories->Library files中添加编译出来的.lib文件所在的目录,或者直接把该.lib文件添加到系统的lib文件目录中
(4) project->settings->c/c++, category选择Code Generation,use-runtime library选择Multithreaded DLL(不然在link的过程中会出现很多“MSVCRT.lib(MSVCRT.dll) : error LNK2005”的错误,这是因为DLL和LIB被同时引用造成的)
(5) 然后在我们的程序中#include<smi.h>,就可以开始做SNMP的开发了,GO!
相关文章推荐
- 程序员面试的不二选择
- hdu 3061 Battle(最大权闭合图)
- oracle pl/sql clob转换为blob(clob2blob),blob转换为clob(blob2clob)方法
- Linux 显示每个线程 打开的句柄数
- paip.编程压缩Access数据库
- 互联网产品之美(1):用具有创意的产品证明自己的创造力
- Android ScrollView 嵌套ListView的替代方案
- fms-后台管理用户列表
- 汇编有符号数和无符号数总结
- (顺序容器类)向量应用:一个非常长的整数类
- libcurl教程
- Mybatis中javaType和jdbcType对应和CRUD例子
- SmartAuditor 部署主要事项
- Unreal3 碰撞参考指南
- UVa 11111 Generalized Matrioshkas (栈)
- C++基础知识(三)C++的输入和输出及操纵符
- orcale常用函数之字符函数--------------orcale笔记
- 激动啊!haha
- HDU2119 Matrix 很经典的做法 二分匹配最大匹配数
- 培养好程序员的习惯