当我在终端中运行我的代码时,
local function main()
local socket = require ("socket.http")
end
main()
我收到此错误/消息:找不到模块'socket.http':
no field package.preload['socket.http']
no file '/usr/local/share/lua/5.2/socket/http.lua'
no file '/usr/local/share/lua/5.2/socket/http/init.lua'
no file '/usr/local/lib/lua/5.2/socket/http.lua'
no file '/usr/local/lib/lua/5.2/socket/http/init.lua'
no file './socket/http.lua'
no file '/usr/local/lib/lua/5.2/socket/http.so'
no file '/usr/local/lib/lua/5.2/loadall.so'
no file './socket/http.so'
no file '/usr/local/lib/lua/5.2/socket.so'
no file '/usr/local/lib/lua/5.2/loadall.so'
no file './socket.so'
我在Windows中使用lua,我不知道如何实现它。 我想使用LuaSocket从http存储库获取图像,然后获得base64编码,而不下载图像。对于文件系统中的图像,此解决方案有效:
dofile("C:\\Users\\se47596\\Desktop\\LUA\\prueba2\\src\\Base64.lua")
imagen = "C:\\Users\\se47596\\Desktop\\LUA\\prueba2\\src\\pruebaAsyncOCR.png"
local function main()
imfh = io.open(imagen,'rb')
imblob = imfh:read('*a')
imfh:close()
print("ImageData="..enc(imblob))
end
main()
我应该将哪些文件导入Eclipse项目?我看到了这些操作,但我不知道如何使用它们......
--package.path = "./lua/modules/?.lua"
--package.cpath = "./lua/modules/?.dll"
--local socket = require ("socket")
我应该如何构建我的项目?至少我有这个:
myProjectFolder的
|__src
|__Base64.lua
|__main.lua
你能帮帮我吗?我想从Lua解释器中证明这一点。我也看到了这些解决方案,但我无法在Eclipse项目中使用它,也许我需要前一步。
我需要创建一个库吗?在那种情况下我怎么能这样做?
http://w3.impa.br/~diego/software/luasocket/installation.html http://luarocks.org/
祝你好运!
答案 0 :(得分:3)
第一个错误看起来像是在Linux中运行?
您是否成功安装了LuaSockets?它用C语言编写,因此您需要一个编译器来安装它。这可以在Microsoft开发人员工具中找到。你也可以使用cygwin。
或者,如果你安装了mingw,你可以先下载: https://github.com/pkulchenko/ZeroBraneStudio/blob/master/build/build-win32.sh
然后你可以运行:
bash ./build-win32.sh lua luasocket
答案 1 :(得分:0)
我可以通过打击来构建它们:
(1)像thie一样在build-win32.sh中替换gcc / g ++:
GCC=x86_64-w64-mingw32-gcc
GPP=x86_64-w64-mingw32-g++
#gcc $BUILD_FLAGS
$GCC $BUILD_FLAGS
(2)apt-cyg cmake解压缩mingw64-x86_64-gcc-g ++
(3)bash ./build-win32.sh lua luasocket