没有得到这样的模块:在使用sqlite的corona中发生fts错误



我正试图从corona应用程序内部对sqlite数据库运行"匹配"查询。我使用cl.exe从源文件编译了sqlite数据库,在编译时,我包含了启用fts功能的标志。然后,我使用fts3在数据库中创建了一个虚拟表(我也单独尝试过使用fts4)。我可以从sqlite命令行实用程序运行一个"匹配"查询,它会返回正确的结果。

然而,当我从我的corona应用程序对同一个数据库文件尝试相同的查询时,我会得到错误"no such module:fts3"(当我尝试fts4时,我得到了"no such-module:fts4")。其他查询(不使用全文搜索)在corona内部运行良好。

有人能告诉我为什么在我的corona应用程序中进行全文搜索时会出现这个错误吗?sqlite文档暗示此错误意味着sqlite构建不包括FTS模块。但我认为我编译得很好,因为我创建FTS3表的SQL语句成功了(在corona之外),全文查询也在coronal之外工作。

我需要在我的电晕构建设置中设置不同的东西吗?

我在Windows上使用电晕模拟器,但我也在我的设备上尝试过。

以下是我的设备的adb-logcat的输出:

I/Corona  (15353): Runtime error
I/Corona  (15353): no such module: fts3
I/Corona  (15353): stack traceback:
I/Corona  (15353):  [C]: ?
I/Corona  (15353):  [C]: in function 'nrows'
I/Corona  (15353):  ...tDocumentsCorona Projectsawscene_search.lua:162: in function 'fillMyTable'
I/Corona  (15353):  ...tDocumentsCorona Projectsawscene_search.lua:56: in function <...tDocumentsCorona Projectsawscene_search.lua:49>
I/Corona  (15353):  ?: in function <?:218>

我也在corona论坛上发布了这个问题,corona的工作人员确认他们使用的是安卓版sqlite的标准版本,并且不支持全文搜索。iOS上的标准构建确实包括对fts的支持,因此它确实适用于iOS
请参阅:http://forums.coronalabs.com/topic/55683-is-coronas-sqlite-compiled-with-fts3-full-text-search-enabled/

最新更新