2012-09-27 88 views
2

我想讓IUP在Lua工作。我已經成功地在C中安裝並運行了iup,但是我的GUI中有一個嵌入的lua解釋器,並且能夠從解釋器加載對話框會很有幫助。然而,當我嘗試執行require("iuplua"),我得到以下錯誤:麻煩使用IUP與Lua

> require("iuplua") 
stdin:1: module 'iuplua' not found: 
    no field package.preload['iuplua'] 
    no file './iuplua.lua' 
    no file '/usr/local/share/lua/5.1/iuplua.lua' 
    no file '/usr/local/share/lua/5.1/iuplua/init.lua' 
    no file '/usr/local/lib/lua/5.1/iuplua.lua' 
    no file '/usr/local/lib/lua/5.1/iuplua/init.lua' 
    no file '/usr/share/lua/5.1/iuplua.lua' 
    no file '/usr/share/lua/5.1/iuplua/init.lua' 
    no file './iuplua.so' 
    no file '/usr/local/lib/lua/5.1/iuplua.so' 
    no file '/usr/lib/x86_64-linux-gnu/lua/5.1/iuplua.so' 
    no file '/usr/lib/lua/5.1/iuplua.so' 
    no file '/usr/local/lib/lua/5.1/loadall.so' 
stack traceback: 
    [C]: in function 'require' 
    stdin:1: in main chunk 
    [C]: ? 

我想這是因爲Lua的庫IUP安裝不正確。我試圖直接進入包含了iuplua.lua文件,並試圖再次目錄,並獲得:

> require("iuplua") 
./iuplua.lua:6: attempt to index global 'iup' (a nil value) 
stack traceback: 
    ./iuplua.lua:6: in main chunk 
    [C]: in function 'require' 
    stdin:1: in main chunk 
    [C]: ? 

這似乎意味着在iuplua.lua文件中的錯誤。我通過從sourceforge下載二進制文件(我沒有從源代碼編譯)安裝iup,並且從apt庫安裝了lua 5.1(5.1是我的項目所必需的,請不要推薦並升級到5.2)。我正在運行Mint 13.

關於解決這些問題的任何建議,我們將不勝感激。

+1

你的'package.path'是錯誤的。進入圖書館的文件夾只會使情況變得更糟。找到庫安裝路徑並將其添加到你的'package.path' –

+0

我重置我的'package.path'變量以指向包含'iuplua.lua'文件的源目錄,但收到上面的第二個錯誤。任何其他的想法? – ewok

+2

也檢查'package.cpath' –

回答