4

SQLite で SOUNDEX 関数を使用しようとしています。これを自作でインストールできますか、それともソースからコンパイルする必要がありますか?

私はもう試した

brew install --fresh sqlite --with-functions

拡張機能をインストールしているようですがError: no such function: SOUNDEX、クエリでメッセージが表示されます。

sqliteまた、次のコンパイルオプションを追加して、式を変更しようとしました

ENV.append 'CPPFLAGS', "-DSQLITE_SOUNDEX"

http://www.sqlite.org/lang_corefunc.htmlに基づいていますが、これでも失敗します。

理想的には、ソースから手動で SQLite をコンパイルすることは避けたいと考えています。

4

1 に答える 1

0

これは正しいフラグですが、正しい 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 は「樽のみ」の式です。つまり、ほとんどの自作式とは異なり、sqliteOS X で提供される との競合を避けるために、/usr/local/bin にリンクされませ/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 イシュー トラッカーにアクセスして、リクエストを送信してください。

于 2013-04-25T03:46:44.750 に答える