zoukankan      html  css  js  c++  java
  • Win7 VS2013环境编译Lua5.3.1

    主要参考这篇文章,原文有几个错误顺便改正了。

    在Windows下使用Visual Studio编译Lua5.3

    写本文时Lua官方网站放出的新版本为5.3.1,然后我不知道为啥,神奇的国内不能访问Lua官网,但是作为程序员搞到源码应该不是难事。

    VS2013中新建工程,设置如图

    工程名Lua53,并且勾选Create directory for solution

    应用程序设置静态库,其他选项全去掉

    首先删除Lua源码文件夹中的Makefile文件,我们用不着这东西,至少我不用...

    然后把除

    lua.c

    luac.c

    lua.hpp

    这三个文件外,其他所有文件复制到Lua53项目中,自己建个src目录,复制进去

    然后把这些文件添加到Lua53项目中,Build

    Build完后,在Lua53整个项目文件夹下Release文件夹下会生成Lua53.lib

    ========================================================================

    然后来建立解释器工程,在解决方案上添加新工程

    选择命令行工程,命名为Lua

    设置如图,注意去掉其他项,并选中Empty project

    然后从Lua源码中复制除

    luac.c

    之外所有文件复制到你的Lua工程文件源码里,还是自己建src目录,然后把源码拖进Lua工程中,要是讨厌重复自己能搞定就自己用,我是单独复制一份,反正本来也没多少代码

    在Lua工程上右键,选择依赖项

    添加Lua53为依赖项

    之后Build,完成后在Lua53整个项目文件夹下Release文件夹下会生成Lua.exe

     双击运行Lua.exe会出现Lua命令行窗口,写个print函数测试下

    print("hello")  

    没啥问题,继续

    ========================================================================

    编译Lua编译器

    解决方案上添加新命令行工程,名字为Luac

    设置同上,去掉其他选项,勾选Empty project

    然后从Lua源码中复制除

    lua.c

    之外所有文件到你的Luac工程里

    一定要注意这几个文件,就差一个字母,别复制错了,简单来说就是Luac工程肯定带luac.c文件,不带lua.c文件

    而之前的lua命令行解释器工程名字叫Lua,带lua.c文件,不带luac.c

    同名工程肯定带同名的.c文件,而不带另一个文件,虽然这不是什么重点,还是提一下比较好

    然后在Luac工程上右键,添加依赖Lua53

    Build完后,在Lua53整个项目文件夹下Release文件夹下会生成Luac.exe

    写个测试文件test.lua,内容如下

    print("hello") 

    打开命令提示符,进入到Luac.exe目录

    D:Program FilesVS2013ProjectsLua53Release

    运行

    luac test.lua

    之后可以看到生成一个luac.out文件,WinHex之类的软件打开

    最后

    Lua53.lib,这个是静态库,在C/C++工程中要用的,感觉好像用动态库的更多

    Lua.exe,命令行解释器

    Luac.exe,lua文本文件转二进制文件,看到像饥荒之类的游戏会把lua文本转成二进制调用,不过好像有反编译软件,总之先知道有这么个东西好了,自己用还得再加个密

  • 相关阅读:
    node的http与前端交互示例(入门)
    PC监听鼠标和键盘事件,定时无响应退出
    日常问题记录
    基于node.js的websocket 前后端交互小功能
    基于node.js的websocket上传小功能
    阿里云服务器(Linux)上打开新端口
    云服务器初尝试
    wx小程序知识点(八)
    wx小程序知识点(七)
    点绘,线绘,图绘
  • 原文地址:https://www.cnblogs.com/kileyi/p/5005026.html
Copyright © 2011-2022 走看看