Как настроить и использовать lcurses (curses for Lua)?

1893
Uronym

Я не очень хорош в ручной установке. Я хочу использовать lcurses, привязку curses для Lua в программе, с require('curses'). Когда я запускаю makeв каталоге lcurses, возникает ошибка, сообщающая о том, что путь LUA, определенный в Makefile, не существует.

Я думаю, мне нужно выяснить, где находится правильный каталог Lua, но я не знаю, где он может быть. Я искал с Nautilus и его поисковой штукой, но я не мог найти папку с именем «Lua», что было include, libи binподкаталоги, все из которых, кажется, быть желанной в Makefile.

Я не уверен, что каталог является единственной проблемой, хотя. Как мне это настроить? Я на Ubuntu 11.10, если это помогает, и мне так и не удалось заставить requireработать Lua .

И вот как выглядит начало Makefile:

# makefile for lcurses library for Lua  # dist location DISTDIR=$(HOME)/dist TMP=/tmp  # change these to reflect your Lua installation LUA=/usr/bin/lua LUAINC= $(LUA)/include LUALIB= $(LUA)/lib LUABIN= $(LUA)/bin 
0

2 ответа на вопрос

0
grawity

Большинство дистрибутивов устанавливают Lua рядом со всеми другими программами /usr, а не с собственным каталогом; LUA = /usrкажется, правильный путь здесь, по крайней мере, на Arch.

Если это не так, ищите файлы include/lua.hили lib/liblua.a, после установки соответствующих -devпакетов, если это необходимо.

find / -name lua.h 
Использование "find / -name lua.h" вызвало каталог "/usr/include/lua5.1/lua.h". LUA = / usr не работает, я снова получил ошибку «Нет такого файла или каталога». Uronym 12 лет назад 0
@Uronym: Исходя из этого, кажется, что вы должны переопределить переменные напрямую: `LUA = / usr`,` LUAINC = / usr / include / lua5.1`. Для LUALIB используйте ту же команду, чтобы найти `liblua.a`, но я предполагаю, что` LUALIB = / usr / lib / lua5.1`. grawity 12 лет назад 0
`LUA = / usr LUAINC = /usr/include/5.1 LUALIB = /usr/lib/lua5.1 LUABIN = / usr / bin / lua5.1` не работает, та же ошибка. Это то, что вы имели в виду? Uronym 12 лет назад 0
@Uronym: нет; `LUA = / usr`` LUAINC = / usr / include / lua5.1` `LUALIB = / usr / lib / lua5.1`` LUABIN = / usr / bin`. grawity 12 лет назад 0
0
user2182586

If you install the Lua .deb package, you should have no problem. The following script should tell you where Lua is looking for modules of both the Lua and compiled C varieties:

strPaths = package.path .. "\r?\n" strPaths = strPaths .. package.cpath strPaths = string.gsub(strPaths, ";", "\r?\n") print strPaths 

You can also set a custom path using an environmental variable. See the Lua Reference manual documentation for package.path and package.cpath.

Finally, a script can set its own path to a module. See http://lua.2524044.n2.nabble.com/Setting-LUA-PATH-from-lua-script-tc7649425.html