45fan.com - 路饭网

搜索: 您的位置主页 > 电脑频道 > 电脑教程 > 阅读资讯:怎么样使用mingw和msys在windows上编译bdb?

怎么样使用mingw和msys在windows上编译bdb?

2016-09-03 06:24:43 来源:www.45fan.com 【

怎么样使用mingw和msys在windows上编译bdb?

最近需要bdb,又没有vc,于是想用mingw和msys编译。使用db-4.4.20

1。进入build_unxi

../dist/configure后生成了makefile

在makefile中加入CPPFLAGS=-I$(builddir) -I$(srcdir) -w -s -O3 -DMINGW

2。make后有错误

修改os/os_flock.c,加入:

#ifdef MINGW //zzw: we have no full fcntl support in mingw
#undef HAVE_FCNTL
typedef struct flock {}; //dummy
#endif
去掉 flock 功能。

修改os_sleep.c,在末尾:

#ifdef MINGW //zzw: use windows sleep for select
Sleep( t.tv_sec*1000 + t.tv_usec);
#else
if (select(0, NULL, NULL, NULL, &t) == -1)
if ((ret = __os_get_errno()) != EINTR)
__db_err(dbenv, "select: %s", strerror(ret));
#endif

修改db_hotbackup.c:

#ifdef MINGW //zzw:
if (wfd != -1 && (_commit(wfd) != 0 || close(wfd) != 0)) {
#else
if (wfd != -1 && (fsync(wfd) != 0 || close(wfd) != 0)) {
#endif

2007.1.9重大失误!!

今天发现只要config时指定:../dist/configure --enable-mingw --enable-test=no --enable-static=no --enable-rpc=no --enable-o_direct=no --enable-pthread_self=no --enable-cxx=no --enable-java=no就可以了。不需要修改源文件,注意--enable-mingw,原来一直没有注意configure --help信息,编译的时候会出现建立连接ln失败,不用理会,继续make就行了。

 

本文地址:http://www.45fan.com/dnjc/71591.html
Tags: windows MINGW msys
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部