~

compile libsmi

上一篇 / 下一篇  2007-08-14 22:07:34 / 个人分类:Develop

51Testing软件测试网Y;ZnPLZ3R

libsmi开发包可以用作SNMP开发,最近需要在windows平台编译出libsmi的lib。资料提示通过NMAKE来编译,但总是会报错,加上对makefile不是很了解,所以一直没有成功。无奈之下试试直接在IDE中编译,没有想到竟然成功了,很是高兴,具体步骤如下:

%Q{zW3@F0 51Testing软件测试网s1z$C;@0IM4Vr

1. 从http://www.ibr.cs.tu-bs.de/projects/libsmi/download.html?lang=de上download libsmi-0.4.5的源码包。解压后会看到lib,win等子目录和文件。lib里面放的是源文件及头文件,win下面放的是用来在windows下编译的源文件和头文件。 51Testing软件测试网I/i9Nw4q k

51Testing软件测试网{{v8z3\4\

2. 在VC6.0中新建“Win32 Static Library”工程,然后添加所需要的源文件。分为三个步骤:51Testing软件测试网Kew?)Go

51Testing软件测试网5I {t,u$z.f

(1)添加lib和win目录下的源文件51Testing软件测试网xf:Oid$}a$V$~!@d

!V|0]*@9Uca0(2)创建unistd.h头文件,文件内容如下:51Testing软件测试网W.fcT&X1G

)n3[M8oi0#ifndef _UNISTD_H51Testing软件测试网B+uM$p-I9Z
#define _UNISTD_H

A$p O q!QT2h0

ksr!bn1MA0#include <io.h>
,B@r~ d5V3o0#include <process.h>

m?8wj;zR0 51Testing软件测试网AmW u^8k1W6B

#endif /* _UNISTD_H */ 

] ]-gr6J0

Bv:[W||b&}4f"yeJn0并将unistd.h放到lib目录下(unistd.h是linux中的头文件,在windows下不存在,所以要自己创建)51Testing软件测试网V{O&Q'i0l FA

1R*P"T1V1z#?Y0(3)添加lib和win目录下的头文件

Iwm| A}c E0

*x@ b.O:V03. 设置VC6.0的编译环境,具体步骤如下:

Z1UZz2[0 51Testing软件测试网!Sk(w`~ T

(1) project->settings->c/c++, category选择Code Generation,use-runtime library选择Multithreaded DLL51Testing软件测试网]?gdYab Y

EH)W+N0y&x/I0(2) tools->options->directories, 在include files中添加lib和win两个目录的路径51Testing软件测试网W:n1X1x fYR ^m

51Testing软件测试网_ GzP*m5g

4. Build51Testing软件测试网)O-}HVb } E K

7Zf};j5hs1L5Cmr-_m05. 虽然会出现warnning,但不影响编译结果。在VC工程中做一些设置就可以是用libsmi提供的方法来做开发了。具体设置如下:51Testing软件测试网,m)s&[kk.GY'x

R$Q1^ C[-i8xV7J0(1) project->settings->link,在object/library modules下面添加上面编译出来的.lib文件51Testing软件测试网J!no ^p0gF$O

!tc%Gc2WV N$p;Y0(2) 在tools->options->directories->include files中添加添加smi.h所在的目录,或者直接把smi.h添加到系统的头文件目录中51Testing软件测试网\,y e.hq

M{MPs8NL Fgc0(3) 在tools->options->directories->Library files中添加编译出来的.lib文件所在的目录,或者直接把该.lib文件添加到系统的lib文件目录中51Testing软件测试网0Z2k S#|#]s.[x'q

q_(u}J;H!A9W0(4) project->settings->c/c++, category选择Code Generation,use-runtime library选择Multithreaded DLL(不然在link的过程中会出现很多“MSVCRT.lib(MSVCRT.dll) : error LNK2005”的错误,这是因为DLL和LIB被同时引用造成的)

(F4N!b!A*n F0

!YmFr-o7JnOI0(5) 然后在我们的程序中#include<smi.h>,就可以开始做SNMP的开发了,GO!

0B'UF}%\$v+Nx)[-R0

TAG:

 

评分:0

我来说两句

日历

« 2024-04-21  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 9513
  • 日志数: 17
  • 建立时间: 2007-03-26
  • 更新时间: 2008-03-20

RSS订阅

Open Toolbar