在Ubuntu上使用IUP和Lua

时间:2011-01-14 03:29:54

标签: ubuntu lua install iup

我正在努力让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 个答案:

答案 0 :(得分:1)

这是你可以查看的内容,也许它会有所帮助。

当您使用 require 加载模块时,Lua使用包路径来确定在哪里查找模块。

  

package.path:Lua在哪里寻找.lua模块
  package.cpath:Lua在哪里查找.so / .dll模块

请查看Lua手册的这一部分:Modules。具体来说, package.path package.cpath 部分。

您可以查看当前路径是什么样的:

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

您可以添加以下路径:

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