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

在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 Files\VS2013Projects\Lua53\Release

运行

luac test.lua

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

最后

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

Lua.exe,命令行解释器

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

Win7 VS2013环境编译Lua5.3.1的更多相关文章

  1. Win7 64位 VS2013环境编译Lua5.3.1

    主要参考这篇文章,原文有几个错误顺便改正了. 在Windows下使用Visual Studio编译Lua5.3 写本文时Lua官方网站放出的新版本为5.3.1,然后我不知道为啥,神奇的国内不能访问Lu ...

  2. Win7 VS2013环境编译Squirrel 3.0.7

    Squirrel是一个类似Lua,但是更面向对象的脚本语言. 国内这个介绍很少,环境配置更是没有任何文章提到,花了点时间搞定了,备忘记录下过程. 首先是下载,写本文时Squirrel最新版本为3.0. ...

  3. Win7 VS2013环境编译CGAL-4.7

    看到有人在QQ空间感叹编译CGAL配置折腾了一天时间,自己也想试试,虽然并不打算用,但感觉这库也挺有名的,想必日后用得着,于是着手试着编译. 首先是看一下官网的windows下配置说明 http:// ...

  4. Win7 VS2013环境编译boost1_58_0

    备忘,发现好多不常用的东西不记笔记再想用要重新花时间找,所以试着开始记笔记,写入博客吧. 首先去官网下最新的版本 http://www.boost.org/ 写本文时boost最新版本为1_58_0, ...

  5. Win7 64位 VS2013环境编译Squirrel 3.0.7

    Squirrel是一个类似Lua,但是更面向对象的脚本语言. 国内这个介绍很少,环境配置更是没有任何文章提到,花了点时间搞定了,备忘记录下过程. 首先是下载,写本文时Squirrel最新版本为3.0. ...

  6. Win7 64位 VS2013环境编译CGAL-4.7

    看到有人在QQ空间感叹编译CGAL配置折腾了一天时间,自己也想试试,虽然并不打算用,但感觉这库也挺有名的,想必日后用得着,于是着手试着编译. 首先是看一下官网的windows下配置说明 http:// ...

  7. Win7 64位 VS2013环境编译boost1_58_0

    备忘,发现好多不常用的东西不记笔记再想用要重新花时间找,所以试着开始记笔记,写入博客吧. 首先去官网下最新的版本 http://www.boost.org/ 写本文时boost最新版本为1_58_0, ...

  8. C++ VS2013环境编译使用sqlite数据库全过程

    转载:http://www.cnblogs.com/imoon/archive/2012/11/30/2796726.html 转载:https://blog.csdn.net/hjm4702192/ ...

  9. Win7 VS2013环境cuda_7.5.18的一些坑

    thrust库的sort算法,在x86平台使用就崩溃,x64就没问题,搜了下好像是很早的版本,4开始就有这样的问题了,原因不明. http://stackoverflow.com/questions/ ...

随机推荐

  1. CentOS查看进程、杀死进程、启动进程等常用命令

    关键字: linux 查进程.杀进程.起进程 1.查进程     ps命令查找与进程相关的PID号:     ps a 显示现行终端机下的所有程序,包括其他用户的程序.     ps -A 显示所有程 ...

  2. [剑指Offer]50-第一个只出现一次的字符

    题目链接 https://www.nowcoder.com/practice/1c82e8cf713b4bbeb2a5b31cf5b0417c?tpId=13&tqId=11187&t ...

  3. VTP

    VTP VLAN中继协议(Vlan Trunking Protocol),是CISCO专用协议.VTP负责在VTP域内同步VLAN信息,这样就不必在每个交换机上配置相同的VLAN信息.VTP还提供一种 ...

  4. Python: 浅淡Python中的属性(property)

    起源:项目过程中需要研究youtube_dl这个开源组件,翻阅其中对类的使用,对比c#及Delphi中实现,感觉Python属性机制挺有意思.区别与高级编程语言之单一入口,在类之属性这一方面,它随意的 ...

  5. Django的Rbac介绍2

    上一篇博客我们记录了一下Django中使用Rbac,但是上一篇博客中的方法有一点不好,就是,因为我要在html文件中控制:如果用户有某个权限,则显示这个权限所代表的按钮,但是我现在只有1张表的增删改查 ...

  6. scrapy的调试和环境安装技巧

    1,先在settings中把ROBOTSTXT_OBEY = False 在主目录下面新建main文件 __autor__ = 'zhouli' __date__ = '2018/11/3 22:39 ...

  7. Properties 使用

    Properties 属于Map 下HashTable的小弟 属于持久的属性集,他可以保存在流中或者在流中加载. 键和值都是字符串类型. 通常用于配置文件 方法介绍: 存放键值对:setPropert ...

  8. Day 07 文件的相关操作

    文件初始: 文件的三要素: path:文件的路径 mode:r w r+ w+ a encoding: 编码方式 # 打开一个文件的方法 f1 = open('e:\echo.txt', encodi ...

  9. Mac下GitHub以及GitHub Desktop使用实战

    Hub是一个面向开源及私有软件项目的托管平台.开源代码库以及版本控制系统,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub.通常在Windows下使用GitHub的教程是非常多的, ...

  10. SD-WAN介绍

    SD-WAN SD-WAN特性 相关技术 Hybrid WAN WAN Optimization WAN edge router MPLS NFV SDN SD-WAN厂商 SD-WAN SD-WAN ...