1、下载sqlite3源码:http://www.sqlite.org/download.html

主要是sqlite-amalgamation-XXXXXXX.zip、sqlite-dll-win32-x86-XXXXXXX.zip、sqlite-dll-win32-x64-XXXXXXX.zip

动态库编译:

ps:如果没有特殊要求,可直接使用下载的sqlite-dll-*********.zip内的dll,那如果不放心就自己编译。

1、使用vs2010创建win32工程,然后选择DLL和空项目,正常情况下vc6-vs2015都支持

2、把sqlite3.c、sqlite3.h、sqlite3ext.h、sqlite3.def拷贝到工程源文件目录,前3个文件位于第一个zip,后一个文件位于后2个zip,用哪个就看你的目标环境。

3、然后通过工程的资源管理器把上述4个文件添加到工程中

4、修改工程配置,在配置属性-->c/c++-->预处理器-->预处理器定义,加入

SQLITE_ENABLE_RTREE
SQLITE_ENABLE_COLUMN_METADATA

5、修改工程配置,在配置属性-->链接器-->输入-->模块定义文件 加入sqlite3.def,然后编译即可。

静态库编译:

1、使用vs2010创建win32工程,然后选择静态库,去掉预编译头,正常情况下vc6-vs2015都支持

2、把sqlite3.c、sqlite3.h、sqlite3ext.h、sqlite3.def拷贝到工程源文件目录,前3个文件位于第一个zip,后一个文件位于后2个zip,用哪个就看你的目标环境。

3、然后通过工程的资源管理器把上述4个文件添加到工程中

4、修改工程配置,在配置属性-->c/c++-->预处理器-->预处理器定义,加入

SQLITE_ENABLE_RTREE
SQLITE_ENABLE_COLUMN_METADATA

5、修改工程配置,在配置属性-->链接器-->输入-->模块定义文件 加入sqlite3.def,然后编译即可。

使用:

引入sqlite3.h头文件,然后链接动态库或静态库即可。

不过要注意编译sqlite3的工程和使用sqlite3的工程的运行库一致,否则会出现 error LNK2005:重定义的问题

设置路径如下:工程-->属性-->配置属性-->c/c++-->代码生成-->运行库

windows下sqlite3静态库和动态库的编译的更多相关文章

  1. Windows下静态库与动态库的创建与使用

    Windows下静态库与动态库的创建与使用 学习内容:本博客介绍了Windows下使用Visual C++ 6.0制作与使用静态库与动态库的方法. --------CONTENTS-------- 一 ...

  2. Windows下静态库、动态库的创建和调用过程

    静态库和动态库的使用包括两个方面,1是使用已有的库(调用过程),2是编写一个库供别人使用(创建过程).这里不讲述过多的原理,只说明如何编写,以及不正确编写时会遇见的问题. //注:本文先从简单到复杂, ...

  3. C语言静态库与动态库(Windows下测试)

    转载于:https://zhidao.baidu.com/question/1946953913764139388.html,原文为Linux上测试,本文为在Windows上编译测试 我们通常把一些公 ...

  4. Linux下Gcc生成和使用静态库和动态库详解(转)

    一.基本概念 1.1什么是库 在windows平台和linux平台下都大量存在着库. 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行. 由于windows和linux的平台不同( ...

  5. Linux下Gcc生成和使用静态库和动态库详解

    参考文章:http://blog.chinaunix.net/uid-23592843-id-223539.html 一.基本概念 1.1什么是库 在windows平台和linux平台下都大量存在着库 ...

  6. UNIX环境下用C语言写静态库与动态库

    静态库,动态库用UNIX 的术语来说,或者叫做归档文件(archive 常以.a 结尾)和共享对象(share object 常以lib 开头.so 结尾)更为准确.静态库,动态库可能是WINDOWS ...

  7. linux下的共享库(动态库)和静态库

    1.什么是库在windows平台和linux平台下都大量存在着库.本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行.由于windows和linux的本质不同,因此二者库的二进制是不 ...

  8. 【转】Linux下gcc生成和使用静态库和动态库详解

    一.基本概念 1.1 什么是库 在Windows平台和Linux平台下都大量存在着库. 本质上来说,库是一种可执行代码的二进制形式,可以被操作系统载入内存执行. 由于windows和linux的平台不 ...

  9. 关于VS2013下制作和使用静态库和动态库

    关于VS2013下制作和使用静态库和动态库 引言 什么是库:库是写好的现有的,成熟的,可以复用的代码. 所谓静态.动态是指链接.将一个程序编译成可执行程序的步骤: 静态库在链接阶段,会将汇编生成的目标 ...

随机推荐

  1. 16、SQL Server 复制及常见错误处理

    SQL Server 复制 复制是一组技术的组合,可以用此组合对数据和数据库对象进行复制由一个数据库移动到另一个数据库. 复制的英文是Replication,重复的意思,而不是Copy.复制的核心功能 ...

  2. zabbix 基于JMX的Tomcat监控

    zabbix 基于JMX的Tomcat监控 一.环境 ubuntu14.04 LTS Java 1.7.0 zabbix 2.4.5 二.安装配置 1.安装JavaGateway 在ubuntu14. ...

  3. Hash - a javascript dictionary object.

    Hash,in wikipedia, may relevant to many stuffs. In javascript, hash is a group of name/value pairs w ...

  4. 【SSMS增强工具】SQL Sharper 2014介绍

    产品介绍 SQL Sharper是一款SQL Server Management Studio插件,用于数据库对象快速查询.表结构查询.优化查询结果导出.代码生成等方面. 适用人群:T-SQL开发者. ...

  5. java中怎么进行字符串替换?

    String str = "test.doc"; String newStr = str.replaceAll("doc","html");

  6. 【转】iOS-Core-Animation-Advanced-Techniques(五)

    原文:http://www.cocoachina.com/ios/20150105/10829.html 图层时间和缓冲 图层时间 时间和空间最大的区别在于,时间不能被复用 -- 弗斯特梅里克 在上面 ...

  7. 初识sass框架

    编写过页面的开发者都知道css这个东西,究其原意,也就是层叠样式表,我们页面的三大结构,html css javascript,其中html负责主要的页面结构,css就负责主要的页面样式,而我们的js ...

  8. angular template浅析

    在我们浏览的页面中有大的网站,也有中小型网站,类型不同其中的页面也就不同,但是纵观大部分的网页是否有什么相同的地方呢?如果浏览的是一般的门户网站或者是什么小型的页面的话这种感觉就不是很明显,但是如果关 ...

  9. ETLLib库走读

    以前从来也没想过要去看库里的代码,咱想,那怎么也是很底层的代码,居然发现库里的代码也可以这样写,那就先读懂这个ETLLib(跨windows与Linux平台,封装了一些基本的系统调用函数,然后实现定制 ...

  10. 64位系统下System32文件系统重定向

    前言 因为一次偶然的机会,需要访问系统目录“C:/Windows/System32“文件夹下的内容,使用的测试机器上预装了win7 64系统.在程序运行中竟然发生了该文件路径不存在的问题!!通过查看网 ...