基于Berkeley DB编程在VS2005下的开发环境配置

本文介绍BerkeleyDB在Windows下的安装及开发环境搭建过程,包括配置Microsoft Visual Studio 2005,设置包含目录、库目录及依赖项。

Berkeley DB是一个经典的开源嵌入式数据库,具有灵活性、高效性、可伸缩的特点,自开发之日起已经有了很多的相关应用。它的各个子系统之间的联系很松散,基本上每个子系统都可以拿出来作为一个单独的块来使用,因此大为嵌入式数据库程序员所青睐。本文主要简单介绍一下本人在安装Berkeley DB之后,在Windows下开发环境的搭建时遇到的一些问题。

  首先,从http://www.oracle.com/technology/global/cn/software/products/berkeley-db/index.html这个链接下载Berkeley DB 4.7.25.msi Windows 安装程序,这个是Windows操作系统下的Berkeley DB安装程序,解压之后双击就能安装,记住安装目录,本人装在C:/Program Files/Oracle/Berkeley DB 4.7.25这个目录下。

  之后,打开Microsoft Visual Studio 2005这个开发环境,至于其它的开发环境,本人只尝试了VC++ 6.0没有成功,因此转而使用Microsoft Visual Studio 2005,对于使用VC的朋友们只能说句抱歉了。文件-->新建-->项目,项目类型选择Win32-->Win32控制台应用程序,名字为Berkeley,点击确定-->下一步-->完成。这时视图转到项目中,自动生成的Berkeley.cpp的初始代码如下:

// Berkeley.cpp : 定义控制台应用程序的入口点。

#include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[])
{
 return 0;
}

  此时,右键单击Berkeley这个工程,选择属性到达属性的对话框,在配置属性里面选择C/C++,然后选择常规,点击“附加包含目录”行的右半部分,浏览选择Berkeley DB安装目录的include文件夹,确定之后“附加包含目录”的值就变为"C:/Program Files/Oracle/Berkeley DB 4.7.25 /include"(按照我的安装路径)。之后在“配置属性”里面再选择链接器,然后选择“常规”,点击“附加库目录”行的右半部分,浏览选择Berkeley DB安装目录的lib文件夹,确定之后“附加库目录”的值就变为"C:/Program Files/Oracle/Berkeley DB 4.7.25/lib"(按照我的安装路径)。最后之后在“配置属性”里面再选择链接器,然后选择“输入”,点击“附加依赖项”行的右半部分,手工输入将其值改为libdb47d.lib (这个文件在C:/Program Files/Oracle/Berkeley DB 4.7.25/lib这个目录下),确定之后环境的搭建就完成了。下面给出一段粗浅的代码,以测试能否正常工作,此程序的工程为Win32控制台类型:

// TestBtree.cpp : 定义控制台应用程序的入口点。

#include "stdafx.h"

#include <db_cxx.h>

#include<iostream>

#include<cstring>

int _tmain(int argc, _TCHAR* argv[])

{

    Db db(NULL, 0);

    u_int32_t oFlags = DB_CREATE;

    try {

                db.open(NULL,

                      "mybtree1.db",

                       NULL,

                       DB_BTREE,

                      oFlags,

                       0);

    } catch(DbException &e) {

    } catch(std::exception &e) {

   }

    Dbt key,data;

    int i,ret,count=100;

    for(i=0;i<count;i++){

        Dbt key(&i,sizeof(int));  

                 Dbt data(&i,sizeof(int));  

        db.put(0, &key, &data, DB_NOOVERWRITE);

    }

    Dbc *dbcp,*dbcp1;  

        db.cursor(NULL, &dbcp, 0);

    while (dbcp->get(&key, &data, DB_NEXT) == 0)  

   {  

        printf("The Key::data is %d/n",*((int *)key.get_data()));

        printf("   The Data::data is %d/n",*((int *)data.get_data()));

    }

    dbcp->close();

    db.sync(0);

    try {

            db.close(0);

    } catch(DbException &e) {

    } catch(std::exception &e) {

        }

    return 0;

}

  如果程序能够顺利运行,环境就配置完成了。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值