vc6.0+wxSqlite3编译成静态库总结
2011-09-07 11:09
148 查看
一、编译连接生成带安全加密功能的sqlite3
1. 下载wxSqlite3-2.1.3.zip后,解压到wxsqlite3-1.9.9
http://sourceforge.net/projects/wxcode/files/Components/
2.解压到e:\wxsqlite3,wxSqlite3中有sqlite3\secure\src\codec-c子目录,该目录下的文件是包括加密功能的sqlite3源文件,版本号是3.7.7.1
3.用vc6.0创建一个空的win32 library工程sqlite3Encrypt,将sqlite3\secure\src\codec-c目录下的sqlite3secure.c加入到工程中,因为sqlite3secure.c中已经包括了sqlite3.c(该文件中包括了所有sqlite3功能的实现)。
4.加入预处理开关:SQLITE3ENCRYPT_EXPORTS,SQLITE_ENABLE_FTS3,SQLITE_ENABLE_FTS3_PARENTHESIS,SQLITE_ENABLE_RTREE,SQLITE_SECURE_DELETE,SQLITE_SOUNDEX,SQLITE_ENABLE_COLUMN_METADATA,SQLITE_HAS_CODEC,CODEC_TYPE=CODEC_TYPE_AES128,SQLITE_CORE,THREADSAFE=1
5.改变编译选项,c/c++->use runtime library->MultiThread(/MT,release版),MultiThread DLL(/MTd,debug版).
6.build生成sqlite3Encrypt.lib.
二、编译连接wxSqlite3
1.由于我使用的wxWidgets是2.9.1版,所以进入e:\wxsqlite3\build29子目录,用vc6.0打开wxsqlite3_vc6.dsw,里面有三个工程文件,一是mimal(wx Widgets控制台程序),二是dbadmin(wxSqlite3数据库的管理工具),三就是wxSqlite3自身的工程文件。
2.设置好环境变量wxwin,使其指向wxWidgets的安装目录,本人的是C:\wxWidgets-2.9.1。因为wxSqlite3要使用wxWidgets库。
3.设置所有三个工程文件的编译选项use runtime libray,debug版为/MTd,release版为/MT.
4.设置wxSqlite3中的预编译选项,debgu版为__WXDEBUG__,_DEBUG,WIN32,_LIB,_UNICODE,__WXMSW__,wxUSE_DYNAMIC_SQLITE3_LOAD=0,WXSQLITE3_HAVE_METADATA=1,WXSQLITE3_HAVE_CODEC=1,WXSQLITE3_HAVE_LOAD_EXTENSION=1,release版为WIN32,_LIB,_UNICODE,__WXMSW__,wxUSE_DYNAMIC_SQLITE3_LOAD=0,WXSQLITE3_HAVE_METADATA=1,WXSQLITE3_HAVE_CODEC=1,WXSQLITE3_HAVE_LOAD_EXTENSION=1。其它两个工程文件保持默认打开时的预编译选项即可。
5.由于我将wxWidgets编译成monthonlic模式,minimal和dbadmin中的静态库依赖需要修改成相应的库。
6.编译debug时,将之前生成的debug版本sqlite3Encrypt.lib改名为sqlite3.lib,并复制到sqlite3\lib目录下,替换掉以前的同名文件(该同名文件是wxSqlite3发行版中自带的动态库导入文件),然后再build.同样,当编译release时,复制release版本的sqlite3Encrypt.lib到sqlite3\lib目录下.
通过minimal.exe和dbadmin.exe我们可以学习wxSqlite3的用法。以后就可以使用wxSqlite3来代替需要数据库引擎的数据库了,比如Access.
1. 下载wxSqlite3-2.1.3.zip后,解压到wxsqlite3-1.9.9
http://sourceforge.net/projects/wxcode/files/Components/
2.解压到e:\wxsqlite3,wxSqlite3中有sqlite3\secure\src\codec-c子目录,该目录下的文件是包括加密功能的sqlite3源文件,版本号是3.7.7.1
3.用vc6.0创建一个空的win32 library工程sqlite3Encrypt,将sqlite3\secure\src\codec-c目录下的sqlite3secure.c加入到工程中,因为sqlite3secure.c中已经包括了sqlite3.c(该文件中包括了所有sqlite3功能的实现)。
4.加入预处理开关:SQLITE3ENCRYPT_EXPORTS,SQLITE_ENABLE_FTS3,SQLITE_ENABLE_FTS3_PARENTHESIS,SQLITE_ENABLE_RTREE,SQLITE_SECURE_DELETE,SQLITE_SOUNDEX,SQLITE_ENABLE_COLUMN_METADATA,SQLITE_HAS_CODEC,CODEC_TYPE=CODEC_TYPE_AES128,SQLITE_CORE,THREADSAFE=1
5.改变编译选项,c/c++->use runtime library->MultiThread(/MT,release版),MultiThread DLL(/MTd,debug版).
6.build生成sqlite3Encrypt.lib.
二、编译连接wxSqlite3
1.由于我使用的wxWidgets是2.9.1版,所以进入e:\wxsqlite3\build29子目录,用vc6.0打开wxsqlite3_vc6.dsw,里面有三个工程文件,一是mimal(wx Widgets控制台程序),二是dbadmin(wxSqlite3数据库的管理工具),三就是wxSqlite3自身的工程文件。
2.设置好环境变量wxwin,使其指向wxWidgets的安装目录,本人的是C:\wxWidgets-2.9.1。因为wxSqlite3要使用wxWidgets库。
3.设置所有三个工程文件的编译选项use runtime libray,debug版为/MTd,release版为/MT.
4.设置wxSqlite3中的预编译选项,debgu版为__WXDEBUG__,_DEBUG,WIN32,_LIB,_UNICODE,__WXMSW__,wxUSE_DYNAMIC_SQLITE3_LOAD=0,WXSQLITE3_HAVE_METADATA=1,WXSQLITE3_HAVE_CODEC=1,WXSQLITE3_HAVE_LOAD_EXTENSION=1,release版为WIN32,_LIB,_UNICODE,__WXMSW__,wxUSE_DYNAMIC_SQLITE3_LOAD=0,WXSQLITE3_HAVE_METADATA=1,WXSQLITE3_HAVE_CODEC=1,WXSQLITE3_HAVE_LOAD_EXTENSION=1。其它两个工程文件保持默认打开时的预编译选项即可。
5.由于我将wxWidgets编译成monthonlic模式,minimal和dbadmin中的静态库依赖需要修改成相应的库。
6.编译debug时,将之前生成的debug版本sqlite3Encrypt.lib改名为sqlite3.lib,并复制到sqlite3\lib目录下,替换掉以前的同名文件(该同名文件是wxSqlite3发行版中自带的动态库导入文件),然后再build.同样,当编译release时,复制release版本的sqlite3Encrypt.lib到sqlite3\lib目录下.
通过minimal.exe和dbadmin.exe我们可以学习wxSqlite3的用法。以后就可以使用wxSqlite3来代替需要数据库引擎的数据库了,比如Access.
相关文章推荐
- Windows下编译libevent 64位静态库总结
- Linux环境编译动态库和静态库总结
- 关于iOS静态库 编译失败总结
- windows ffmpeg 编译 动态库 静态库 总结
- 静态库与动态库及交叉编译总结及学习较底层编程:动手写一个C语言编译器
- Linux环境编译动态库和静态库总结
- Linux环境编译动态库和静态库总结
- ios 静态库编译总结
- QT Creator编译和使用QT的静态库
- 用VS2010编译LUA静态库
- ubuntu12.04编译android-4.0.1_r1错误总结
- 编译原理第一、二章总结
- VS2015——命令行下编译、静态库动态库制作以及断点调试
- 编译xorg7.0总结
- 关于QtSerialPort编译在Qt4.8.6+Qt creator+Win7 / XP环境下的总结
- 关于C++编译的程序无法在新一台电脑上运行总结
- C语言编译过程总结详解 - 链接方式
- Xcode编译Undefined symbols for architecture xxx 错误总结
- 编译问题总结
- sqlite3 编译静态库