1@H_502_1@)fts2 has a designflaw and has been deprecated
2@H_502_1@)fts1 has a designflaw and has been deprecated
@H_502_1@解析:FTS1@H_502_1@和FTS2@H_502_1@都有设计的缺陷,现在已经被废弃,目前已经提供了FTS3@H_502_1@或者FTS4@H_502_1@,这些作为全文搜索的模块,弥补了以前的FTS1@H_502_1@的不足。如果确定不会使用到全文搜索,可以直接使用sqlITE_CORE@H_502_1@,禁用。将sqlITE_CORE@H_502_1@添加到编译选项。
VS @H_502_1@的基本设置:属性》》C/C++@H_502_1@》》预处理器》》预处理定义
3@H_502_1@)Cannot open includefile: 'unicode/utypes.h': No such file or directory
@H_502_1@该问题主要是调用了FTS1@H_502_1@或者FTS2@H_502_1@引起的,通过禁用FTS1@H_502_1@和FTS2@H_502_1@顺利编译通过。
FTS1@H_502_1@有一个设计的缺陷,会导致数据库错误(databasecorruption@H_502_1@).@H_502_1@强烈推荐废弃该模块,改用fts3@H_502_1@或者更高的模块。如果你相信fts1@H_502_1@的使用是安全的,可以通过添加DsqlITE_ENABLE_BROKEN_FTS1=1@H_502_1@到编译选项。
FTS1@H_502_1@模块将会作为一个扩展模块而被编译(当sqlITE_CORE@H_502_1@没有被定义的情况下)。
@H_502_1@另外如果sqlITE_ENABLE_FTS1@H_502_1@被定义,FTS1@H_502_1@也会被编译进sqlite@H_502_1@内核。
4@H_502_1@)Error: no module:rtree
@H_502_1@默认情况下sqlite3.exe@H_502_1@的控制台程序是没有携带Rtree@H_502_1@模块的,如果需要启用该模块,需要调用预编译定义:sqlITE_ENABLE_RTREE,@H_502_1@然后通过shell.c@H_502_1@文件的main@H_502_1@重新生成程序。
5)@H_502_1@控制台程序
@H_502_1@建立空的控制台,然后导入sqlite@H_502_1@源码,编译出现如下的错误:
error LNK2019: @H_502_1@无法解析的外部符号_WinMain@16@H_502_1@,该符号在函数 ___tmainCR...
@H_502_1@第一步:在C++/@H_502_1@预编译中,添加:sqlITE_ENABLE_RTREE @H_502_1@参数支持rtree
@H_502_1@第二步:如果是控制台程序:
1.@H_502_1@菜单中选择Project->Properties,@H_502_1@弹出Property Pages@H_502_1@窗口
2.@H_502_1@在左边栏中依次选择:ConfigurationProperties->C/C++->Preprocessor,@H_502_1@然后在右边栏的PreprocessorDefinitions@H_502_1@对应的项中删除_WINDOWS,@H_502_1@添加_CONSOLE.
3.@H_502_1@在左边栏中依次选择:ConfigurationProperties->Linker->System,@H_502_1@然后在右边栏的SubSystem@H_502_1@对应的项改为CONSOLE(/SUBSYSTEM:CONSOLE)
6@H_502_1@)unexpected end offile while looking for precompiled header. Did you forget to add '#include"stdafx.h"' to your source?
sqlite@H_502_1@源码不能够调用预编译处理,因为sqlite@H_502_1@的源码是纯C@H_502_1@语言,无法获得VC++@H_502_1@预编译的好处。
原文链接:https://www.f2er.com/sqlite/199233.html