Win7 64位 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 Files\VS2013Projects\Lua53\Release
运行
luac test.lua
之后可以看到生成一个luac.out文件,WinHex之类的软件打开
最后
Lua53.lib,这个是静态库,在C/C++工程中要用的,感觉好像用动态库的更多
Lua.exe,命令行解释器
Luac.exe,lua文本文件转二进制文件,看到像饥荒之类的游戏会把lua文本转成二进制调用,不过好像有反编译软件,总之先知道有这么个东西好了,自己用还得再加个密
Win7 64位 VS2013环境编译Lua5.3.1的更多相关文章
- Win7 64位 VS2013环境编译CGAL-4.7
看到有人在QQ空间感叹编译CGAL配置折腾了一天时间,自己也想试试,虽然并不打算用,但感觉这库也挺有名的,想必日后用得着,于是着手试着编译. 首先是看一下官网的windows下配置说明 http:// ...
- Win7 64位 VS2013环境编译Squirrel 3.0.7
Squirrel是一个类似Lua,但是更面向对象的脚本语言. 国内这个介绍很少,环境配置更是没有任何文章提到,花了点时间搞定了,备忘记录下过程. 首先是下载,写本文时Squirrel最新版本为3.0. ...
- Win7 64位 VS2013环境编译boost1_58_0
备忘,发现好多不常用的东西不记笔记再想用要重新花时间找,所以试着开始记笔记,写入博客吧. 首先去官网下最新的版本 http://www.boost.org/ 写本文时boost最新版本为1_58_0, ...
- Win7 64位 VS2013环境cuda_7.5.18的一些坑
thrust库的sort算法,在x86平台使用就崩溃,x64就没问题,搜了下好像是很早的版本,4开始就有这样的问题了,原因不明. http://stackoverflow.com/questions/ ...
- Win7 64位 VS2013环境使用cuda_7.5.18
首先得吐槽下VS2015出来快一年了CUDA居然还不支持,没办法重装系统刚从2013升到2015,还得再装回一个2013用,只为学习CUDA... 然后安装的时候,如果你选择自定义组件安装,注意不要改 ...
- Win7 64位 VS2015环境编译NanoVG
书接上回,Cairo编译好使用后,发现简单的每帧画100条随机线段就卡得不行,装了个gooreplacer( http://liujiacai.net/gooreplacer/ )上stackover ...
- Win7 64位 VS2015环境编译cegui-0.8.5
首先是去官网下载源码与依赖库 http://cegui.org.uk/ 然后得提一下,编译DX11版本带Effects11框架的话会有问题,也就是默认情况编译有问题,这是因为VS2015升级后编译器对 ...
- Win7 64位 VS2015环境编译Libpng
第3次编译Libpng依然想不起任何东西,为了不浪费第4次的时间... http://libmng.com/pub/png/libpng.html http://www.zlib.net/ 解压两个压 ...
- win7 64位 php环境开启curl服务Call to undefined function
无法使用curl_init(),一般情况问题可能出在没有去加载php的扩展文件php_curl.dll(windows操作系统),但是检查了一下系统配置,发现,环境下已经将php.ini文件里 ;ex ...
随机推荐
- 学习C:程序
#include <stdio.h> main(){ /*将输入复制到输出,并将其中连续的多个空格用一个空格代替*/ int c,nb; nb = 0; while((c = getcha ...
- python第二天-linux权限管理
(1)linux登陆密码忘了,怎么办? 把系统重启,在进入系统之前不断的按键盘左上角的"Esc"键会进入这样一个画面,按键盘上的e进入编辑. 进入这个画面以后,通过键盘的上下方向键 ...
- 安装好oracle后,打开防火墙遇到的问题!
-A INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT -A INPUT -j REJECT --reject-with ...
- [原创.数据可视化系列之一]使用openlayers 3 显示聚合数据
在地图上显示点数据是最常用的地图展示功能之一,但是如果很多点在地图上显示,或造成密密麻麻的一片,无法正常看清楚,这个时候,一般有两种解决方案,一种是根据数据重要程度进行标注,重要的显示大一些,不重要的 ...
- WebBrowser打开Word文档的一些注意事项
WebBrowser打开Word文档的一些注意事项 分类: C#word2010-03-31 21:26 5640人阅读 评论(3) 收藏 举报 webbrowser文档browser工具object ...
- centos7安装数据库
centos7的yum源中貌似没有正常安装MySQL时的mysql-server. 那么就需要从官网下载了. 下面是安装mysql的命令: # wget http://dev.mysql.com/ge ...
- 数据转移发现font有问题
本地正常 以为是mime.types没有 但是发现是存在的 然后根据提示百度了很久都没有解决 解决: 去字体官网下载改字体文件下来 上传到服务器 发现可以正常访问 说明不是服务器的问题 有个提示 i ...
- 第四十一章 微服务CICD(3)- jenkins + gitlab + webhooks + publish-over-ssh(1)
一.作用 使用webhooks来实现当git客户端push代码到gitlab后,jenkins会立即去gitlab拉取代码并构建. 二.步骤 1.安装插件 ruby_runtime(Hook插件依赖于 ...
- python——面向对象篇之异常和反射
内置函数isinstance和issubclass 1.1 isinstance用法: isinstance(string,str) 判断第一个参数是否是第二个参数的子集,例如: print isin ...
- ORACLE 导出(exp) & 导入(imp)
导出(exp) & 导入(imp) 利用Export可将数据从数据库中提取出来,就是将select的结果存到一个FS二进制文件上 利用Import则可将提取出来的数据送回到Ora ...