私は少なくとも 6 つの異なる SQL Lua 拡張機能を調査しましたが、それらの最新バージョンは Lua のバージョン 5.1 までと互換性があるようです。Lua 5.2 を使用する現在のプロジェクトにそれらのいずれかを実装することに成功したことはありません。最良のシナリオは、サイレント プログラム クラッシュまたはattempt to call global 'module' (a nil value)
.
私は元のプロジェクトの所有者ではないので、ソース コードの変更を強制されないようにしています(ただし、最近では、その道をたどることさえあります)。
また、多くの場合、これらのクラッシュがプロジェクト自体の動作方法、プロジェクトが Lua を (静的ライブラリとして) 実装する方法、Lua が拡張機能を実装しようとする方法、拡張機能が依存関係を実装する方法に関連しているかどうかは不明です。 、バージョン管理の競合、またはそれぞれのある種のクレイジーな組み合わせ。この方法でサイレント クラッシュをデバッグすることは事実上不可能です。
この質問に答えが示されているように、モジュール関数(ほとんどの lua sql 拡張機能が使用しますが、5.2 で廃止されました) をサポートしようとしましたが、プログラムは依然としてクラッシュするか、一見無限の量の依存関係が不足していると不平を言います。そして、文句を言うすべての依存関係(と思われるもの)を追跡するのに何時間も費やした後でも、それでもクラッシュします。
プロジェクトのソース コードを変更して Lua 5.1 ソースを使用すると、プロジェクトの機能が壊れるように見え、5.2 関連の関数が見つからないというさまざまなコンパイラ エラーが発生します。MySQL C/C++ コネクタをプロジェクトにリンクすると、プロジェクトが Lua 5.2 を実装する方法と競合するように見える、あいまいな実行時エラーが発生します。
32 ビット Windows マシン上の Lua 5.2 で実際に動作する sqlite/MySQL 拡張機能はありますか? できれば、Lua ソース/ffi バインディングを使用して「すぐに使える」プリコンパイル済みバイナリを使用できますか?
または、代わりに、必要なアセンブリごとにウェブ全体で個別の指示を掃除することなく、このセットアップを適切に行う方法に関する明確な指示はありますか?