利用VS2008编译SQLite3.6.14.2

通过网上搜索资料总结了SQLite3的编译方法

步骤说明:

1)选择创建一个“WIN32智能设备项目”;

 2)应用程序类型选择:Dll;*如果要创建静态库,则创建一个Win32 Console Application,并将编译类型选为“static library”。

3)将sqlite3.6.14.2的所有源码均加入工程(到其官方网站上可以下载)。

注意需要将tclsqlite.c、shell.c、fts3.c、fts3.h、fts3_tokenizer1.c、fts3_tokenizer.c、fts3_tokenizer.h去掉。其中tclsqlite.c用于生成基于TCL的API,如果要编译,这需要另外下载tcl.h;shell.c用于生成命令行模式的sqlite.exe,如果是静态库形式则可以选择; 其余的文件还不清楚是什么作用,但如果不去掉的话会产生一个.obj文件重定义的错误。

4) 选中项目(而不是文件),项目->属性->C/C++->预编译头-> 创建/使用预编译头: 选择不使用预编译头。

 5) 选中项目(而不是文件),项目->属性->常规->配置类型: 输入“static library”。

 6)编译即可生成DLL和LIB文件。

 

以下为另一篇文章中提供的编译方法(未经尝试):

1)选择创建一个C++ Win32工程;

2)选择Win32 Project模板;

3)选择工程类型(编译目标类型)为Win32 DLL。 *如果要创建静态库,则创建一个Win32 Console Application,并将编译类型选为“static library”。

4)将sqlite3.5.1的所有源码均加入工程。

    * 注意需要将tclsqlite.c、shell.c、fts3.c、fts3.h、fts3_tokenizer1.c、fts3_tokenizer.c、fts3_tokenizer.h去掉。其中tclsqlite.c用于生成基于TCL的API,如果要编译,这需要另外下载tcl.h;shell.c用于生成命令行模式的sqlite.exe,如果是静态库形式则可以选择;icu是internationalcomponents forunicode,如果需要则需另外下载相关头文件。 

5)选择合适的RuntimeLibrary,默认为多线程模式。位置:Project->Properties->Configuration Properties->C/C++->Code Generation->Runtime Library

6)将编译模式改为c模式(TC)。位置:Project->Properties->Configuration Properties->C/C++->Advanced->Compile As

7)如果想要取得不必要的警告信息,则作如下处理: - 在预处理定义处加 _CRT_SECURE_NO_WARNINGS 位置: Project->Properties->Configuration Properties->C/C++->Preprocessor->Preprocessor Definitions - disable 制定的警告信息(Project->Properties->C/C++->Advanced->Disable Specific Warnings): 4267;4244;4018;4311;4996;4312;4311

 8)为避免如下警告(以及相关错误) warning C4013: ‘TryEnterCriticalSection’ undefined; assuming extern returning int 在os.h的第72行,#include之前加: #define _WIN32_WINNT 0x0400 #define WIN32_LEAN_AND_MEAN 9)OK,编译,即可成功!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值