2

我需要在启用 SQLITE_ENABLE_FTS3_PARENTHESIS 的情况下构建 System.Data.SQLite,以获得“增强的查询语法”(http://www.sqlite.org/fts3.html#section_3_1

我在这里下载了源代码:

我尝试按照构建指南进行操作:

我正在使用 2010 版本,因为我在 .net 4.0 中需要它。我已经打开了解决方案并重建了它。我需要先卸载测试项目,因为它们失败了。

我在 SQLite.Interop.2010.props 'SQLITE_COMMON_DEFINES' 标签中添加了以下内容:

SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;

为了确保它被定义,我在 sqlite3.c 中更改了它(不需要):

//#ifdef SQLITE_ENABLE_FTS3
  "ENABLE_FTS3",
//#endif
//#ifdef SQLITE_ENABLE_FTS3_PARENTHESIS
  "ENABLE_FTS3_PARENTHESIS",
//#endif
//#ifdef SQLITE_ENABLE_FTS4
  "ENABLE_FTS4",
//#endif

我用发布配置重建它,它成功了。但是当我查看文件夹时:

sqlite-netFx-source-1.0.89.0\bin\2010\Release\bin

我没有找到 SQLite.Interop.dll。

如何构建它并获取 SQLite.Interop.dll?

4

1 回答 1

1

嗯 - 我发现了问题。我需要使用 ReleaseNativeOnly 配置进行构建,以获取 SQLite.Interop.dll。win32/x86文件放在sqlite-netFx-source-1.0.89.0\bin\2010\Win32\ReleaseNativeOnly。

通过选择解决方案上的属性来获得 Interop 项目的 64 位版本更改平台,并将平台更改为 x64 - 重建。该文件放在 sqlite-netFx-source-1.0.89.0\bin\2010\x64\ReleaseNativeOnly 中。

我将它们复制到 x86 和 x64 文件夹中的项目文件夹中,它可以工作。

于 2013-10-31T10:48:20.517 回答