Установка luasql 2.2 с luarocks на lua для установки Windows - PullRequest
2 голосов
/ 13 июня 2011

Получается, что в lua for windows install есть более ранняя версия luasql 2.1, и мне нужно иметь возможность использовать luasql 2.2 (в частности, mysql).Я провел весь день, пытаясь установить эту штуку с помощью луароков, но продолжал бить стену.Это третья стена, которую я ударил, но первая, которую я просто не знаю, с чего начать.

Я запускаю: luarocks install luasql-mysql MYSQL_DIR = "E: / Programs / MySQL / MySQL Server5,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, так как я уже использовал это раньше), и б) установить Visual Studio 2010 (версии C # и C ++ до сих пор), и с) использовать Visual StudioКомандная строка для запуска вещей luarocks, если я использую обычную командную задачу, она ломается намного раньше.

Я надеюсь, что это будет легко исправить для кого-то, кто знаком с компиляцией C, и это то, что кажетсяделает.

1 Ответ

0 голосов
/ 20 марта 2012

Добавьте следующее в ls_mysql.c после строки 17:

#include <windows.h>

Так что windows.h включено после winsock.h и до mysql.h .

Ссылки:

  1. http://forums.mysql.com/read.php?45,37472,37472
  2. Заголовочные файлы переопределения C ++ (winsock2.h)
...