2014-05-24 31 views
2

我遇到了一些問題,編譯wxLua在Linux和一些時間閱讀安裝指南後,我得到了以下文件:wxLua '未定義的符號:luaopen_libwx'(Linux Mint的16)

  • libwx.so
  • libwxlua-wx28gtk2ud-2.8.12.3.so
  • libwxlua_bind-wx28gtk2ud-2.8.12.3.so
  • libwxlua_debug-wx28gtk2ud-2.8.12.3.so
  • libwxlua_debugger-wx28gtk2ud-2.8.12.3.so
  • libwxlua5.2-wx28gtk2ud-2.8.12.3.so
  • libwxstedit-wx28gtk2ud-2.8.12.3.so

simpleui.lua

require("libwx") 

frame = nil 

function HandleEvents(event) 
    local name = event:GetEventObject():DynamicCast("wxWindow"):GetName() 
    print(string.format("\\global\\def\\Choice%s{%s}", name, event:GetString())) 
end 

function main() 
    frame = wx.wxFrame(wx.NULL, 
        wx.wxID_ANY, 
        "Erstellen Sie Ihr PDF-Dokument mit LuaTeX", 
        wx.wxDefaultPosition, 
        wx.wxSize(185, 85), 
        wx.wxDEFAULT_FRAME_STYLE) 
    local panel = wx.wxPanel(frame, wx.wxID_ANY) 
    local choices = {"blue", "red", "green"} 
    local radioBox = wx.wxRadioBox(panel, 
           wx.wxID_ANY, 
           "Farbe", 
           wx.wxDefaultPosition, 
           wx.wxDefaultSize, 
           choices, 1,wx.wxRA_SPECIFY_ROWS) 
    frame:Connect(wx.wxID_ANY, 
       wx.wxEVT_COMMAND_RADIOBOX_SELECTED, 
       HandleEvents) 
    frame:Show(true) 
end 

main() 

wx.wxGetApp():MainLoop() 

我的所有文件複製到同一文件夾中,但我不工作。

錯誤:

lua: error loading module 'libwx' from file './libwx.so': 
     ./libwx.so: undefined symbol: luaopen_libwx 
stack traceback: 
     [C]: in ? 
     [C]: in function 'require' 
     simpleui.lua:1: in main chunk 
     [C]: in ? 

我想在LuaLatex利用這一點,在Windows上some problems了。

+0

您可以嘗試運行'nm -go * .so | grep luaopen_'來找出這些庫中是否包含必要的符號來作爲Lua擴展模塊。但我相信應該有一個'wx.so'模塊...... – siffiejoe

回答

1

我已經解決了這個問題。

Lua正在搜索wx.so而不是libwx.so,並且它在重命名後起作用。