因此,lua安装上有一些早期版本的luasql,我需要能够使用luasql2.2(特别是mysql)。我花了一整天的时间来安装这东西,但是一直撞在墙上。这是我碰到的第三堵墙,但是第一堵墙,我只是不知道该从哪里开始。
我运行: luarocks安装luasql MYSQL_DIR="E:/Programs/MySQL/MySQL服务器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知道从哪里开始吗?我必须安装独立的mysql (以前使用的是WAMP附带的一个),b)安装visual studio 2010 (到目前为止是c#和c++版本),c)使用visual studio命令提示符来运行luarocks的内容,如果我使用常规的命令问题,它会在此之前中断。
对于熟悉编译C的人来说,我希望这是一个很容易解决的问题,这似乎就是它所要做的。
发布于 2012-03-20 08:59:24
在第17行之后将以下内容添加到ls_mysql.c中:
#include <windows.h>因此,windows.h包含在winsock.h之后和mysql.h之前。
参考文献:
https://stackoverflow.com/questions/6326075
复制相似问题