Wie kann ich lcurses (Flüche für Lua) einrichten und verwenden?

1806
Uronym

Ich bin nicht sehr gut in der manuellen Installation. Ich möchte lcurses verwenden, eine Bindung von Flüchen für Lua in einem Programm, mit require('curses'). Wenn ich makeim Verzeichnis lcurses laufe, gibt es einen Fehler, der sich über den LUAim Makefile definierten Pfad beschwert und nicht vorhanden ist.

Ich denke, ich muss herausfinden, wo das richtige Lua-Verzeichnis liegt, aber ich weiß nicht, wo es liegen könnte. Ich habe mit Nautilus und seiner Suche Dingen gesucht, aber ich konnte nicht ein Verzeichnis namens „Lua“, das hatte finden include, libund binVerzeichnisse, von denen alle zu sein scheinen wollte im Makefile.

Ich bin mir nicht sicher, dass das Verzeichnis das einzige Problem ist. Wie richte ich es ein? Ich bin auf Ubuntu 11.10, wenn das hilft, und ich habe es noch nie geschafft, ein Lua- requireDing zum Laufen zu bringen.

Und so sieht der Anfang des Makefiles aus:

# 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 Antworten auf die Frage

0
grawity

Die meisten Distributionen installieren Lua neben allen anderen Programmen in /usreinem eigenen Verzeichnis. LUA = /usrscheint hier der richtige Weg zu sein, zumindest auf Arch.

Ist dies nicht der Fall, suchen Sie nach Dateien include/lua.hoder lib/liblua.a, -devfalls erforderlich, nach der Installation der richtigen Pakete.

find / -name lua.h 
Mit "find / -name lua.h" wurde das Verzeichnis "/usr/include/lua5.1/lua.h" aufgerufen. LUA = / usr hat nicht funktioniert, ich habe wieder die Fehlermeldung "Keine solche Datei oder Verzeichnis" erhalten. Uronym vor 10 Jahren 0
@Uronym: Aus diesem Ergebnis scheint es, dass Sie die Variablen direkt neu definieren müssen: `LUA = / usr`,` LUAINC = / usr / include / lua5.1`. Verwenden Sie für LUALIB den gleichen Befehl, um "liblua.a" zu finden. Ich vermute jedoch, dass "LUALIB = / usr / lib / lua5.1". grawity vor 10 Jahren 0
`LUA = / usr LUAINC = /usr/include/5.1 LUALIB = /usr/lib/lua5.1 LUABIN = / usr / bin / lua5.1` funktionierte nicht, gleicher Fehler. Ist es das, was du meintest? Uronym vor 10 Jahren 0
@Uronym: Nein; `LUA = / usr`` LUAINC = / usr / include / lua5.1` `LUALIB = / usr / lib / lua5.1`` LUABIN = / usr / bin`. grawity vor 10 Jahren 0
0
user2182586

Wenn Sie das Lua .deb-Paket installieren, sollten Sie kein Problem haben. Das folgende Skript sollte Ihnen sagen, wo Lua nach Modulen der Lua- und der kompilierten C-Sorte sucht:

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

Sie können auch einen benutzerdefinierten Pfad mithilfe einer Umgebungsvariablen festlegen. Siehe die Lua Referenzhandbuch Dokumentation package.pathund package.cpath.

Schließlich kann ein Skript einen eigenen Pfad für ein Modul festlegen. Siehe http://lua.2524044.n2.nabble.com/Setting-LUA-PATH-von-lua-script-tc7649425.html