Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用自制软件为SQLite安装SOUNDEX_Sqlite_Homebrew - Fatal编程技术网

使用自制软件为SQLite安装SOUNDEX

使用自制软件为SQLite安装SOUNDEX,sqlite,homebrew,Sqlite,Homebrew,我正在尝试将SOUNDEX函数用于SQLite。我可以用自制软件安装,还是需要从源代码编译 我试过了 brew安装--全新sqlite--带函数 它似乎安装了扩展功能,但我仍然在查询时收到错误:没有这样的功能:SOUNDEX消息 我还试图修改sqlite公式,添加了以下编译选项 ENV.append'CPPFLAGS',“-DSQLITE\u SOUNDEX” 基于,但这仍然失败 理想情况下,我希望避免从源代码手动编译SQLite,即使这意味着我需要编写自定义的自制公式。这是正确的标志,但您可能

我正在尝试将SOUNDEX函数用于SQLite。我可以用自制软件安装,还是需要从源代码编译

我试过了

brew安装--全新sqlite--带函数

它似乎安装了扩展功能,但我仍然在查询时收到
错误:没有这样的功能:SOUNDEX
消息

我还试图修改
sqlite
公式,添加了以下编译选项

ENV.append'CPPFLAGS',“-DSQLITE\u SOUNDEX”

基于,但这仍然失败


理想情况下,我希望避免从源代码手动编译SQLite,即使这意味着我需要编写自定义的自制公式。

这是正确的标志,但您可能没有运行正确的SQLite

你的方法是正确的。添加
ENV.append'CPPFLAGS',“-DSQLITE\u SOUNDEX”
将使用SOUNDEX编译它。我刚刚在我的OS X 10.8.3系统上用SQLite 3.7.16.2和自制软件进行了测试。或者,为了更好的控制,像这样

  option 'with-soundex', 'Enable the SOUNDEX function'

  def install
    [ ... ]
    ENV.append 'CPPFLAGS', "-DSQLITE_SOUNDEX" if build.include? "with-soundex"
您确定安装了正确的
sqlite3
程序后正在调用它吗?SQLite是一种“仅桶”配方;也就是说,与大多数自制公式不同,它没有链接到/usr/local/bin,以避免与OS X提供的
sqlite
冲突。您需要使用完整路径调用自制公式,如
/usr/local/cillar/sqlite/3.7.16.2/bin/sqlite3

$ /usr/local/Cellar/sqlite/3.7.16.2/bin/sqlite3
SQLite version 3.7.16.2 2013-04-12 11:52:43
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> select soundex('Hello, world!');
H464
将--with soundex选项添加到主自制
sqlite
公式中很容易,因此您不必维护单独的公式。如果你认为有足够多的人会使用它,那就去请求它。

你可以检查使用
SQLITE\u SOUNDEX
编译是否有效。