【问题标题】:I'm trying to write a simple Lua script, and the time function is giving me a "loading module" error我正在尝试编写一个简单的 Lua 脚本,时间函数给了我一个“加载模块”错误
【发布时间】:2015-12-27 01:53:04
【问题描述】:

我正在尝试学习 Lua,我正在遵循的教程有以下代码作为步骤:

 print("Welcome to")
 print("THE GAME")

我之前有一些编程经验,决定更进一步:

 require "socket"

 function sleep(sec)
     socket.select(nil, nil, sec)
 end

 print("Welcome to.....")
 sleep(1.25)
 print("...")
 sleep(1.25)
 print("...")
 sleep(1.25)
 print("...")
 sleep(1.25)
 print("...")
 sleep(1.25)
 print("THE GAME")

由于某种原因,这个小添加立即给了我一个错误:

  dave@dave-[my laptop]:~/Code/Lua/Test$ lua main.lua
  lua: error loading module 'socket.core' from file '/home/dave/torch/install/lib/lua/5.1/socket/core.so':
     /home/dave/torch/install/lib/lua/5.1/socket/core.so: undefined symbol: lua_pcall
  stack traceback:
     [C]: in ?
     [C]: in function 'require'
     /home/dave/torch/install/share/lua/5.1/socket.lua:12: in main chunk
     [C]: in function 'require'
     main.lua:1: in main chunk
     [C]: in ?

我不知道我是怎么把这么简单的东西弄坏的。我是不是安装错了 Lua?我在 Ubuntu 14.04 上运行 Lua 5.2.3。

【问题讨论】:

  • Lua 是一个专有名称,而不是首字母缩写词。它不应该全部大写。

标签: linux sockets ubuntu lua


【解决方案1】:

lib/lua/5.1/socket/core.so

我正在运行 Lua 5.2.3

嗯,这就是你的问题。 Lua 与以前的“次要”版本二进制不兼容。因此,当您在 Lua 5.2 中执行时,您无法加载为 Lua 5.1 构建的 .so。

假设socket库有5.2版本,你需要升级到它。如果你不能这样做,那么你需要降级到 Lua 5.1。

【讨论】:

  • 所以我要么需要将我的套接字库升级到 5.2,要么将我的 Lua 降级到 5.1?我应该去哪里下载升级后的套接字?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-31
  • 2020-02-28
  • 2020-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多