這是正確的標誌,但你可能沒有運行正確的SQLite。
您的方法是正確的。添加ENV.append 'CPPFLAGS', "-DSQLITE_SOUNDEX"
將用soundex進行編譯。我剛剛在我的OS X 10.8.3系統上用SQLite 3.7.16.2和homebrew對它進行了測試。或者,更多的控制,像這樣。
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/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-同音選項添加到主自制sqlite
配方,使您不必維護單獨的公式。如果你認爲有足夠的人會使用它,請前往the Homebrew issue tracker on GitHub並提出要求。
您可以使用['PRAGMA compile_options'](http://www.sqlite.org/pragma.html#pragma_compile_options)檢查使用'SQLITE_SOUNDEX'編譯是否有效。 –