开发者社区> 问答> 正文

win64怎么配置glua环境??报错

想在windows下用go调lua脚本,开发工具用的liteide,在windows下已经安装了lua5.1.4和go,初步打算使用github上大神们封装的glua库(aarzilli/golua · GitHub),那么问题来了,在linux下这个库编译使用都可以,但是放到windows下却怎么也编译不过去,费劲了九牛二虎之力,安装了mingw64和tdm-gcc-64,编译的时候死活找不到lua库,报错:# pkg-config --cflags lua pkg-config: exit status 3221225785,自己研究了一下windows下go调c动态库,已经可以实现(http://my.oschina.net/ifraincoat/blog/593612),但是用go调用windows下lua安装包中的lua5.1.dll和lua51.dll报错这是无效的win32库,听别人说用vs调用lua库非常方便,但是vs不支持开发go的吧,而且我觉得lua和c的关系这么近,在linux下lua和c可以交互的如鱼得水,在windows下应该也有办法实现才对,我的思路是先解决windows下c调lua的问题这样应该就能让go调lua成功,还请大神们指点指点,有谁调过的吗?或者直接在windows用go调lua可以实现则更好

展开
收起
爱吃鱼的程序员 2020-06-10 15:19:36 742 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    windows安装luajit及golua
    《mingw》
    wgethttp://luajit.org/download/LuaJIT-2.0.4.tar.gz
    tarzxfLuaJIT-2.0.4.tar.gz
    mingw32-make.exe
    mingw32-make.exeinstall(golua要用到pkg_config)
    cpsrc/lua51.dll/c/Windows/System32/
    cpsrc/luajit.exe/c/Windows/System32/




    编译golua
    1.lua51.dllcopy到mingw64的lib目录下
    cp/c/Windows/System32/lua51.dll/d/Program\Files/mingw-w64/mingw-w64/x86_64-4.9.2-posix-seh-rt_v3-rev1/mingw64/lib/
    2.下载golua
    goget-u-dgithub.com/aarzilli/golua/lua
    3.修改lua.go
    /
    #cgopkg-config:lua5.1
    #cgoCFLAGS:-Ilua
    #cgolluaLDFLAGS:-llua
    #cgoluaaLDFLAGS:-llua-lm-ldl
    #cgolinux,!llua,!luaaLDFLAGS:-llua5.1
    #cgodarwin,!luaapkg-config:lua5.1
    #cgofreebsd,!luaaLDFLAGS:-llua-5.1


    #include<lua.h>
    #include<stdlib.h>


    #include"golua.h"


    /
    修改为:
    /
    #cgoCFLAGS:-Iluajit-2.0
    #cgoLDFLAGS:-L./-llua51


    #include<lua.h>
    #include<stdlib.h>


    #include"golua.h"


    /


    4.copyinclude目录
    cd$GOPATH/src/github.com/aarzilli/golua/lua/
    cp-r/usr/local/include/luajit-2.0./


    5.编译安装
    gobuild
    goinstall


    测试:
    go调用lua脚本


    使用cgo调用共享库,在win平台上需要在源码中修改编译参数,见上面的回复,就是以#cgo打头的那几行。golua库配合luar库非常好用,嵌入脚本非常简单。

    另外,有纯golang实现的lua虚拟机,见<arel="nofollow">https://github.com/layeh/gopher-luar,这个在哪个平台下使用都没问题。

    2020-06-10 15:19:52
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载