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文本转成二进制调用,不过好像有反编译软件,总之先知道有这么个东西好了,自己用还得再加个密

  • 相关阅读:
    JavaScript实现类的private、protected、public、static以及继承
    OSS网页上传和断点续传(STSToken篇)
    OSS网页上传和断点续传(OSS配置篇)
    Linq sum()时遇到NULL
    SQLSERVER事务日志已满 the transaction log for database 'xx' is full
    笔记本高分辨软件兼容问题,字体太小或模糊
    H5上传图片之canvas
    An error occurred while updating the entries. See the inner exception for details.
    无限级结构SQL查询所有的下级和所有的上级
    SQLserver 进程被死锁问题解决
  • 原文地址:https://www.cnblogs.com/kileyi/p/5005026.html
Copyright © 2011-2022 走看看