Windows中Lua环境配置记录

2023-11-07

之前在Mac环境下配置了Lua的环境。因为装的是双系统,Mac有点不稳定,所以更多的时候我是在用Windows系统,所以就想在windows上也将环境配置好,一开始感觉windows应该很好配置、网上的教程应该有很多,可是当自己查起来的时候发现网上的东西有点乱,所以想自己将具体的配置过程记录下来。

首先是源码,前几天搭建环境的时候想去官网下载源码,结果发现进不去官网,这可悲剧了。。所以将之前Mac环境搭建时候用到的拷过来进行win环境的搭建。点我下载 ,东西要保存好,以免之后丢了。解压之后得到如下的文件:

搞定代码之后,网上的资料是用VS编译(不知道是不是这么说),网上的资料是有很多,所以我这里整理一下,我就是照着这个流程来的,所以记录下来。

首先在解压得到文件的这个目录新建批处理文件,跟着网上的来:mylua.bat,这里参考了:点我。我的操作步骤跟我参考的那个差不多,我在这再罗嗦一遍吧,谁知道要是哪天他那个链接访问不了了呢?

1、生成Lua的库文件: 

cd src
cl /O2 /W3 /c /DLUA_BUILD_AS_DLL l*.c
del lua.obj luac.obj 
link /DLL /out:lua52.dll l*.obj
cd .. 
如果在批处理文件所在目录的,src文件内有lua52.dll文件,说明这一步操作成功;

2、生成解释器:

cd src
cl /O2 /W3 /c /DLUA_BUILD_AS_DLL l*.c
del lua.obj luac.obj 
link /DLL /out:lua52.dll l*.obj
cl /O2 /W3 /c /DLUA_BUILD_AS_DLL lua.c
link /out:lua.exe lua.obj lua52.lib
cd .. 
照着参考的说法,这一步的操作是为了重新编译lua.c,然后链接生成lua52.lib,那么如果在src目录里面有lua52.lib文件,就说明这一步也操作成功;

3、生成编译器,添加编译luac.c:

cd src
cl /O2 /W3 /c /DLUA_BUILD_AS_DLL l*.c
del lua.obj luac.obj 
link /DLL /out:lua52.dll l*.obj
cl /O2 /W3 /c /DLUA_BUILD_AS_DLL lua.c
link /out:lua.exe lua.obj lua52.lib
del lua.obj
link /out:luac.exe l*.obj
cd .. 
执行完这一步在src目录下就能生成lua.exe文件了,这个就是编译器?

然后,新建好了批处理文件,是否是双击就行?结果是我们双击好像是一闪而过啊,出问题了,照参考的说法是因为:vc编译器没有被放入windows系统环境中(不明觉厉。。。),然后提到了要用vs的命令处理器或者将vs安装目录放到系统环境中去。我采用的是使用vs的命令处理器(虽然我不知道这是啥,但是我百度了,不要问我为啥不谷歌),在网上查到了用vs2005做这个事,但是我电脑上是vs2013,所以我一步步来:

在vs的tools目录下,发现了这些,与我在网上查到的vs2005的tools不一样,然后我猜可能那个啥本机工具命令提示或许是的,就点开了那个出现了黑底窗口然后感觉就是那个了。点开那个cd /D (批处理文件所在目录) 照着前面的那三步走,差不多就编译好了,然后就是接下来了。

编译好了之后,就是在windows系统环境中加入Lua了,环境变量--新建lua环境变量--变量值为lua源码src的目录,如:x\src;然后再path变量中加入 %lua%;  然后重启一下电脑。

最后就是怎么用了吧,配置好了环境变量,那么直接在cmd中输入lua,显示如下:
然后就可以写lua的代码了;

或者点开之前生成的那个lua.exe,

显示上图,那么也可以写代码了;

而我是使用了sublime这个编辑器,听说很好很强大,我在mac上就是用这个,所以在windows上也继续用这个吧,这里也要配置一下sublime,直接搬上我配置的吧:

sublime--Tools--Bulid System--New Build System,然后在编辑区输入:

{
	"cmd": ["lua", "$file"],"file_regex": "^(?:lua:)?[\t](...*?):([0-9]*):?([0-9]*)","selector": "source.lua"
}
对比了一下,跟mac下的有点不一样。然后ctrl+s,保存为Lua.sublime-build.保存目录我直接是用的默认目录。不出差错的话,至此就已经配置好了,在sublime中build system里选择Lua,然后新建一个文件保存为xx.lua,然后print("hello lua"),ctrl+b,就能编译成功了:


至此windows下lua环境的搭建过程记录完成,继续学习搞起~!奋斗

转载于:https://www.cnblogs.com/zhong-dev/p/4044585.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows中Lua环境配置记录 的相关文章

  • 判断大小端存储两种办法

    1 强制转换 给定 int类型的变量a 赋值为1 1的16进制为 00 00 00 01 若小端存储则a中存储为 01 00 00 00 大端存储为 00 00 00 01 则可以取出a的地址强转为char 类型 char a来判断值为0
  • 2023最新最全git安装教程,保姆级手把手式安装!!!

    目录 一 git简介 二 安装过程 1 首先进入git的官网 https git scm com 然后选择Downloads 2 接着选择与自己电脑系统对应的下载选项 我的电脑是windows7的系统 因此选择windows 3 进去之后
  • [导入]TOMPDA WAP新闻订阅教程

    要浏览本条信息请点击文章标题 文章来源 http www wapkf com article other wap 2006 20060511241 html 转载于 https www cnblogs com 200831856 artic
  • 有哪些值得推荐的好用视频剪辑软件?

    首先 我们不管是工作需要 还是做自媒体 一款用着顺手的视频剪辑软件必不可少 经常看到很多人说我是小白 但又想学习视频剪辑 该如何选择适合自己的视频剪辑软件呢 看到抖音 小红书里面很多有意思的视频 自己也想剪辑试试 但又不知从何下手 话不多说
  • HuggingFace——Accelerate的使用

    Overview Accelerate is a library that enables the same PyTorch code to be run across any distributed configuration by ad
  • 20171207编写一个程序,只接受正整数的输入,然后显示所有小于或等于该数的素数。

    素数 在大于1的整数中 只能被1和这个数本身整除的数 思路 用一个标志sign 来标记出素数 include
  • flink学习40:tableAPI的扫描、投影、过滤、列操作

    from用法 select用法 as用法 where用法 filter用法 列操作 增 删 改
  • 【单例模式】

    单例模式 单例模式常见的几种方法 饿汉式 懒汉式DCL 懒汉式内部类 单例模式常见的几种方法 饿汉式 饿汉式 private final static SingletonPattern singletonPattern new Single
  • centos7 升级openssl1.1.1g、openssh8.6p1小记

    系统版本 CentOS Linux release 7 6 1810 Core 默认版本 OpenSSH 7 4p1 OpenSSL 1 0 2k fips 升级版本 OpenSSH 8 6p1 OpenSSL 1 1 1g 1 安装步骤
  • windows10中安装ubuntu双系统时出现unable to find a medium containing a live file system解决办法

    在ubuntu官网上下载最新的18 04 1LTS版本 通过rufus软件将其写入U盘中 但在电脑安装时出现如下错误 经搜索得到如下信息 原贴链接 只需在安装进行到如下界面时 拔掉U盘再插上即可解决问题
  • 我使用OpenCvSharp的一些坑,我的使用心得

    首先是关于 copyto 的操作郁闷 资源图片 需要 是正方形 或者 宽 大于高经我测试 长宽 大小的情况 还是需要跟背景有相应的一致性 比如如果背景 是长大于宽 则资源文件 也需要长大于宽 反之亦然 正方形的图片 则无此要求 要比背景图片
  • Mybatis高级映射

    Mybatis高级映射本质上来说是多个表的联合查询过程 订单数据模型分析思路 数据表 用户表user 记录了购买商品的用户信息 订单表orders 记录了用户创建的订单 购买商品的订单 订单明细表orderdatail 记录了订单的详细信息
  • 玩转Netty,从“Hello World”开始

    大家好 我是老三 之前里 我们讨论了Java的三种IO模型 提到了网络通信框架Netty 它简化和优化了NIO的使用 这期 我们正式开始走近Netty 为什么要用Netty 首先当然是NIO的使用 本身比较复杂 而且还存在一些问题 除此之外
  • Ubuntu 软件包管理详解

    Ubuntu 软件包管理详解 Ubuntu 方便宜用 最值得让人称道的便是其安装软件的方式 一条命令 sudo apt get install xxx 就几乎能帮你搞定所有的软件安装难题 但是有时你可能有这样的需求 查看某个软件包是否安装
  • 使用Object.setPrototypeOf()设置对象的原型

    此方法可以设置对象的原型 Object setPrototypeOf方法是针对对象实例的 而不是构造函数 类 此方法修改的是对象实例的内部属性 prototype 也就是 proto 属性所指向的对象 它只是修改了特定对象上的原型对象 对于
  • Unity中,实现鼠标点击物体,触发事件

    对于UI 很容易能够实现鼠标点击 从而触发事件 但是对于游戏中的物体 则需要多进行一些操作 原理很简单 就是由鼠标点击处发射线 与游戏物体发生碰撞 碰撞到的物体 就是你点击到的物体 具体操作如下 对你的Camera 摄像机 添加 Physi
  • python基础(三)

    模块相关基础 1 1模块的格式 usr bin env python3 coding utf 8 这是一个注释 author lnssm import sys def test args sys argv if len args 1 pri
  • uView 2.0 http请求封装基本使用

    uview2 0 http封装 根据官网填写即可 注意你的路径跟官网的不一样需要改动 网址 https www uviewui com js http html 封装过程 此处示范的是get请求 新建src config request j
  • Bandicam v6.2.4.2083 班迪录屏软件解锁VIP中文便携版

    4K超清屏幕录像 Bandicam 绿色正式版已集成授权信息 自动屏蔽联网验证授权 启动即为已授权版 无试用版任何的限制 录制时间没限制 录制大于十分钟的视频没有水印 最好用的电脑录屏软件 Bandicam班迪录屏 Bandicam 班迪录
  • 设计模式——Go语言(Golang)版:23_访问者模式

    1 介绍 表示一个作用于某对象结构中的各元素的操作 它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作 访问者模式 Visitor 是一种操作一组对象的操作 它的目的是不改变对象的定义 但允许新增不同的访问者 来定义新的操作 访

随机推荐

  • 【C语言】杨氏矩阵

    题目描述 有一个数字矩阵 矩阵的每行从左到右是递增的 矩阵从上到下是递增的 请编写程序在这样的矩阵中查找某个数字是否存在 要求 时间复杂度小于O N 思路1 可以采用遍历方式一个个查找 但是这样时间复杂度为O N 不满足题目要求 思路2 先
  • onedrive同步任意文件夹

    需求描述 想要通过onedrive同步备份一个工作文件夹 依次打开OneDrive 设置 备份 管理备份 发现默认只能备份特定的文件夹 如下所示 而我只想备份文档中的一个子文件夹 OneDrive默认5G空间 应该够了 解决办法 1 以管理
  • 30个jQuery按钮悬停动画

    超炫酷的30个jQuery按钮悬停动画 1 028 人浏览 发表回复 按钮插件是最常见的jQuery插件之一 因为它用途广泛 而且配置起来最为方便 今天我们要分享的是30个超炫酷的jQuery悬停按钮动画 当我们将鼠标滑过按钮时 按钮的背景
  • 组网方案设计,运用Mesh组网实现无缝漫游!

    在当今社会 无线网络已经成为了人们在工作 学习 娱乐生活中必不可少的一部分 但一台路由器的信号范围是有限的 随着距离的增加就会出现信号变弱导致的网速慢 网络卡顿甚至断网的情况 所以在一些面积较广 障碍较多 结构较复杂的场景下就需要安装两个乃
  • 彻底搞懂Java的等待-通知(wait-notify)机制

    线程的生命周期转换 新建状态 New 新建一个线程对象 就绪 可运行状态 Runnable 线程对象创建后 其他线程调用了该对象的start方法 该状态的线程位于可运行线程池中 变得可运行 等待获取CPU的使用权 运行状态 Running
  • python读取openapijson文件所有接口信息

    import openpyxl import json from apistar schemas import OpenAPI with open r E 下载 default OpenAPI json r encoding utf 8 a
  • JAVA string类型的年月日期获取前一个月日期

    废话不多说 代码如下 String date 2023 01 SimpleDateFormat simpleDateFormat new SimpleDateFormat yyyy MM Date newdate simpleDateFor
  • 各种开源协议介绍

    各种开源协议介绍 BSD Apache Licence GPL V2 GPL V3 LGPL MIT 原文连接 https www open open com bbs view 1319816219625
  • C#中的变量祥解

    一 C 数据类型 A 值类型 值类型变量可以直接分配一个值 它是从System ValueType派生而来 值类型直接包含数据 比如int char float 他们分别存储整型数据 字符 浮点数 当你申明一个值类型时 系统分别空间来存储值
  • MySQL中的读锁和写锁

    MySql锁 数据库都是悲观锁 java redis zookeeper会有乐观锁 锁的概念 MySQL中的锁 MyISAM锁 MyISAM共享读锁 MyISAM独占写锁 MyISAM锁调度 InnoDb InnoDb行锁 InnoDb表锁
  • 21天打卡挑战学习MySQL——《Docker容器安装》第三周 第七篇

    活动地址 CSDN21天学习挑战赛 前言 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级 可移植的容器中 然后发布到任何流行的 Linux 机器上 也可以实现虚拟化 Docker支持在主流的操作系统平台上使用 包括 Wind
  • RecyclerView曝光埋点

    RecyclerView曝光埋点 在做客户端埋点的时候 一般分为三类事件 页面浏览事件 元素点击事件 列表item元素曝光事件 页面浏览事件和元素点击事件在做代码埋点时可以很简单的进行埋点 对列表item元素曝光事件的埋点相对来说就麻烦许多
  • 2. 初识Python脚本

    Python的系列课程是写给零基础的小白看的 如果基础比较好的小伙伴可以暂时先不关注 等待后续课程 Hi 大家好 我是茶桁 之前的课程已经给大家讲解了Python相关特性和基本语法 那么这节课呢 我们尝试着从最简单的脚本来开始认识Pytho
  • IDEA 项目结构出现 0%classes,0% lines covered解决方法

    Ctrl Alt F6 然后取消勾选 中间的那个No Coverage
  • 苹果邮件怎么添加qq邮箱_iPhone自带邮件无法登陆QQ邮箱?

    要说现在什么邮箱用的最频繁 个人认为是QQ邮箱 但如今我们都喜欢在手机上处理一些事情 接收和回复邮件也不例外 不过许多iPhone用户可能都遇到过 在苹果手机自带邮件内添加QQ邮箱时 总是显示用户名或密码不正确 今天就来帮大家解决这个问题
  • C++参数传递与返回值

    1 const member function 常量成员函数 在类内 如果不改变数据 就写为常量成员函数 FUNCTION1 const 为什么要使用常量成员函数呢 for example template
  • 单目标应用:基于成长优化算法(Growth Optimizer,GO)的微电网优化调度MATLAB

    一 微网系统运行优化模型 微电网是由分布式电源 储能装置和能量转换装置等组成的小型发配电系统 具有成本低 电压低 污染小等特点 由于环保和能源压力 清洁可再生能源和分布式能源工业发展潜力巨大 微电网控制器可实现对电网的集中控制 采用分布式电
  • 使用 FasterTransformer 和 Triton 推理服务器部署 GPT-J 和 T5

    使用 FasterTransformer 和 Triton 推理服务器部署 GPT J 和 T5 文章目录 使用 FasterTransformer 和 Triton 推理服务器部署 GPT J 和 T5 简介 主要步骤概述 第 1 步 从
  • 点云从入门到精通技术详解100篇-定子装配过程中基于深度学习的易变形材料的点云分割

    目录 前言 易变形导线装配过程及问题 国内外相关研究现状 三维视觉的研究现状
  • Windows中Lua环境配置记录

    之前在Mac环境下配置了Lua的环境 因为装的是双系统 Mac有点不稳定 所以更多的时候我是在用Windows系统 所以就想在windows上也将环境配置好 一开始感觉windows应该很好配置 网上的教程应该有很多 可是当自己查起来的时候