vc6.0+wxSqlite3编译成静态库总结

来源:互联网 发布:python api文档在哪有 编辑:程序博客网 时间:2024/04/27 13:17
一、编译连接生成带安全加密功能的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.

原创粉丝点击