Использование IUP с Lua в Ubuntu - PullRequest
       24

Использование IUP с Lua в Ubuntu

3 голосов
/ 14 января 2011

Я пытаюсь заставить IUP работать на Ubuntu.Я загрузил двоичные файлы из sourceforge, и библиотеки, кажется, находятся в /usr/lib/libiup*.so, но когда я пишу скрипт, подобный следующему:

require("iuplua")
iup.Message('Testing App!', 'Finished Successfully!')

, я получаю ошибку:

lua: attempt to call a nil value
stack traceback:
    [C]: ?
    [C]: in function 'require'
    test.lua:1: in main chunk
    [C]: ?

Заглядывая в это, я увидел сообщение о том, что кто-то, похоже, исправил это - их "LD_LIBRARY_PATH не указали на правильные каталоги cd и im" или что-то подобное.Я не могу исправить мою проблему с переменной окружения LD_LIBRARY_PATH.В 2008 году я увидел еще одну заметку о том, что «двоичные файлы IUPLua имеют жестко закодированный байт-код lua, который вызывает ошибку».Я пытался скомпилировать из исходников, но я получаю ошибки, связанные с cd.h.

Любая помощь будет очень признательна.Спасибо!

1 Ответ

1 голос
/ 04 июля 2011

Вот что вы можете проверить, возможно, это поможет.

Когда вы загружаете модуль с require Lua использует пути к пакетам, чтобы определить, где искать модуль.1005 *

package.path: где Lua ищет модули .luapackage.cpath: Где Lua ищет модули .so / .dll

Посмотрите этот раздел руководства Lua: Модули .В частности, раздел package.path и package.cpath .

Вы можете проверить, каковы текущие пути:

print(package.path.."\n"..package.cpath)

Вы можете добавить пути как:

package.path = package.path..";/usr/lib/?.lua"
package.cpath = package.cpath..";/usr/lib/?.so"
...