そのため、Windows インストール用の lua には以前の 2.1 バージョンの luasql がインストールされていることがわかり、luasql 2.2 (特に mysql) を使用できるようにする必要があります。luarocks を使用してこのことをインストールしようと 1 日を費やしましたが、壁にぶつかり続けています。これは私がぶつかった 3 番目の壁ですが、どこから始めればよいか分からない最初の壁です。
luarocks install luasql-mysql MYSQL_DIR="E:/Programs/MySQL/MySQL Server 5.5" を実行します。
それは通過して出力します(同じことを繰り返しているが異なるファイルである多くの出力を削除します):
Extracting luasql-2.2.0\src\jdbc
Extracting luasql-2.2.0\src\jdbc\Makefile
... (lots of these here)
Extracting luasql-2.2.0\vc6\sqlite.def
Everything is Ok
Folders: 17
Files: 84
Size: 358091
Compressed: 440320
cl /MD /O2 -c -Fosrc/luasql.obj -IF:/Code/Lua/5.1/include src/luasql.c -IE:/Prog
rams/MySQL/MySQL Server 5.5/include
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86
Copyright (C) Microsoft Corporation. All rights reserved.
luasql.c
cl /MD /O2 -c -Fosrc/ls_mysql.obj -IF:/Code/Lua/5.1/include src/ls_mysql.c -IE:/
Programs/MySQL/MySQL Server 5.5/include
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86
Copyright (C) Microsoft Corporation. All rights reserved.
ls_mysql.c
e:\programs\mysql\mysql server 5.5\include\mysql_com.h(291) : error C2061: synta
x error : identifier 'SOCKET'
e:\programs\mysql\mysql server 5.5\include\mysql_com.h(337) : error C2059: synta
x error : '}'
... (lots of these here, same errors just different lines)
E:/Programs/MySQL/MySQL Server 5.5/include\mysql.h(374) : error C2143: syntax er
ror : missing '{' before '*'
E:/Programs/MySQL/MySQL Server 5.5/include\mysql.h(374) : fatal error C1003: err
or count exceeds 100; stopping compilation
Error: Build error: Failed compiling object src/ls_mysql.obj
どこから始めればよいですか?私は、a) スタンドアロンの mysql をインストールし (以前は WAMP を使用していたため、以前は WAMP に付属していたものを使用していました)、b) Visual Studio 2010 (これまでの c# および c++ バージョン) をインストールし、c) Visual Studio を使用する必要がありました。通常のコマンドの問題を使用すると、この前に壊れてしまいます。
C のコンパイルに精通している人にとって、これが簡単に修正できる問題であることを願っています。