Chinaunix首页 | 论坛 | 博客
  • 博客访问: 308063
  • 博文数量: 47
  • 博客积分: 2455
  • 博客等级: 大尉
  • 技术积分: 558
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-25 15:43
文章分类

全部博文(47)

文章存档

2016年(2)

2012年(10)

2011年(13)

2010年(1)

2009年(19)

2008年(2)

分类: 数据库开发技术

2009-04-09 15:21:01

Cygwin是一个windows上对unix的模拟,故而基本编译过程和Unix相同, 如果只想编译c library的话, 操作方式和unix是完全一样, 就是一个configure/make的过程.

但是,如果需要编译tcl library的话,就需要注意一些内容. 由于tcl library可以让用户通过tclsh以shell的方式来操作bdb,即,逐步输入命令, 逐步查看结果. 所以, tcl library实际可以增进对bdb的学习.

实际上,bdb的test suite以tcl test为主, tcl test需要编译出动态的tcl library. 所以稍微介绍一下编译动态tcl library的过程.


1 configure/make
  cd db/build_unix
  ../dist/configure --enable-test --with-tcl=/usr/lib --enable-cxx
  make
  在make过程中会出现一大批错误,都是tcl library的编译错误
  修改Makefile, 将LIBTSO_LIBS的值设置为非空的值:
  LIBTSO_LIBS=  -ltcl84
  同时,由于cygwin中动态库是用windows的dll,而dll一般不在lib目录下,而在bin底下,故而需要设置一下LD_LIBRARY_PATH:
  export LD_LIBRARY_PATH="/bin:$LD_LIBRARY_PATH"
  而后在执行make,整个编译过程就完成了
2 测试 tcl 的library
  $cd .libs; mv cygdb_tcl-4.8.dll libdb_tcl-4.8.dll;cd ..
  $tclsh
  %source ../test/test.tcl
  % test001 btree
   Test001: btree ( -cachesize {0 1048576 3} ) 10000 equal key/data pairs
        Test001: Starting at 0 with dictionary entry 0
        Test001.a: put/get loop
        Test001.b: dump file
        Test001.c: close, open, and dump file
        Test001.d: close, open, and dump file in reverse direction

  这就说明cygwin的tcl library也编译成功了
阅读(2615) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~