那是正确的标志,但您可能没有运行正确的 sqlite。
你的方法是正确的。添加它ENV.append 'CPPFLAGS', "-DSQLITE_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,以避免sqlite
与 OS X 提供的冲突。您需要使用完整路径调用自制程序,例如/usr/local/Cellar/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
,因此您不必维护单独的公式。如果您认为有足够多的人会使用它,请前往GitHub 上的 Homebrew 问题跟踪器并提出请求。