现在的位置: 首页 > 综合 > 正文

在WinCE下编译sqlite3生成动态链接库

2013年10月16日 ⁄ 综合 ⁄ 共 1010字 ⁄ 字号 评论关闭

 

     作者:zieckey( zieckey@yahoo.com.cn
     All Rights Reserved!

一. 编译动态链接库库文件

下面的是我的编译过程,或许对你有些帮助:

1). 打开eVC新建一个“WCE Dynamic-Link Library”工程,命名为:sqlite3
2). 在接下来的对话框中选择"An empty Windows CE DLL project",点击 FINISH,之后再点击 OK
3). 将源码中所有的 *.c *.h *.def 复制到工程文件夹下
4). 在 Source Files 中添加除shell.c和tclsqlite.c这两个文件以外所有 *.c 的SQLite源文件文件
5). 在 Header Files 中添加所有 *.h 的SQLite源文件文件
6). 将 SQLite 源文件中的 sqlite3.def 文件添加到在工程的Source File中
7). 在eVC中选好你要编译的平台,例如“Win32 (WCE emulator) Debug”
8). 好了,开始编译,Build(F7)一下
也许会遇到下面的错误:
E:/zieckey/sqlite3/sqlite3ext.h(22) : fatal error C1083: Cannot open include file: 'sqlite3.h': No such file or directory
经检查发现,源码中包含sqlite3.h都是以 #include <sqlite3.h> 方式包含的,这就是说编译器在系统默认路径中搜索,
这样当然搜索不到 sqlite3.h 这个头文件啦,这时可以改为 #include "sqlite3.h" ,让编译器在工程路径中搜索,
但是如果还有其他地方也是以 #include <sqlite3.h> 方式包含的,那么改源码就显得有点麻烦,好了,我们可以这样:
在菜单栏依次选择:Tools->Options...->Directeries
在下面的Directeries选项中输入你的sqlite3.h的路径
还是会看到一百多个warning,这些大多是强制类型转换引起的,还好编译出来的dll可以正常使用。
最后我们在工程目录的 emulatorDbg 目录生成了下面两个重要文件:
动态链接库文件 sqlite3.dll 和引入库文件 sqlite3.lib

注明:生成静态库方法同上,只有一步不同,将上面第一步改为
打开eVC新建一个“WCE Static Library”工程,命名为:sqlite3 

抱歉!评论已关闭.