1,安装mingw64

先下载mingw64压缩包(不建议下载exe安装包,在线安装太慢),地址如下:

https://nchc.dl.sourceforge.net/project/mingw-w64/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-posix/seh/x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z

下载之后解压到某路径,然后将其中的bin路径添加至系统path路径,例如E:\Program Files\mingw64\bin

检查是否安装成功:

C:\Users\cord>gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=E:/Program\ Files/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/lto-wrapper.exe
Target: x86_64-w64-mingw32
......
Thread model: posix
gcc version 8.1.0 (x86_64-posix-seh-rev0, Built by MinGW-W64 project)

2,编译安装luajit

下载luajit:http://luajit.org/download/LuaJIT-2.1.0-beta3.zip

解压LuaJIT-2.1.0-beta3.zip并用cmd进入文件夹执行编译命令mingw32-make

E:\>cd LuaJIT-2.1.0-beta3

E:\LuaJIT-2.1.0-beta3>mingw32-make
"==== Building LuaJIT 2.1.0-beta3 ===="
mingw32-make -C src
mingw32-make[1]: Entering directory 'E:/LuaJIT-2.1.0-beta3/src'
"HOSTCC host/minilua.o"
.......
"CC lj_lib.o"
"CC lj_alloc.o"
lj_alloc.c:154:14: warning: 'DIRECT_MMAP' defined but not used [-Wunused-function]
static void *DIRECT_MMAP(size_t size)
^~~~~~~~~~~
...
"CC lib_init.o"
"DYNLINK lua51.dll"
"CC luajit.o"
"BUILDVM jit/vmdef.lua"
"LINK luajit.exe"
"OK Successfully built LuaJIT"
mingw32-make[1]: Leaving directory 'E:/LuaJIT-2.1.0-beta3/src'
"==== Successfully built LuaJIT 2.1.0-beta3 ===="

编译完成之后,将src下面的luajit.exelua51.dll两个文件拷贝到新建的E:/LuaJIT文件夹下面,并将src下面的jit文件夹拷贝到E:/LuaJIT/lua下面,整体目录结构如下:

E:\>tree /F luajit
卷 E 的文件夹 PATH 列表
卷序列号为 5EA5-2C1D
E:\LUAJIT
│ lua51.dll
│ luajit.exe

└─lua
└─jit
bc.lua
bcsave.lua
dis_arm.lua
dis_arm64.lua
dis_arm64be.lua
dis_mips.lua
dis_mips64.lua
dis_mips64el.lua
dis_mipsel.lua
dis_ppc.lua
dis_x64.lua
dis_x86.lua
dump.lua
p.lua
v.lua
vmdef.lua
zone.lua

最后将E:/LuaJIT加入path路径。

检验安装结果:

C:\Users\cord>luajit -v
LuaJIT 2.1.0-beta3 -- Copyright (C) 2005-2017 Mike Pall. http://luajit.org/

测试:

创建一个lua脚本test.lua

print("hello world")

然后使用luajit进行编译生成bytecode :

E:\Test\lua>luajit -b test.lua 1.lua

会发现路径下生成了1.lua的文件

:如果使用luajit的时候出现luajit: unknown luaJIT command or jit.* modules not installed的错误,说明lua模块放置的路径有问题,可以通过luajit -e "require('jit.bcsave')"命令测试一下luajit的模块搜索路径:

E:\Test\lua>luajit -e "require('jit.bcsave')"
luajit: (command line):1: module 'jit.bcsave' not found:
no field package.preload['jit.bcsave']
no file '.\jit\bcsave.lua'
no file 'E:\LuaJIT\lua\jit\bcsave.lua'
no file 'E:\LuaJIT\lua\jit\bcsave\init.lua'
no file '.\jit\bcsave.dll'
no file 'E:\LuaJIT\jit\bcsave.dll'
no file 'E:\LuaJIT\loadall.dll'
no file '.\jit.dll'
no file 'E:\LuaJIT\jit.dll'
no file 'E:\LuaJIT\loadall.dll'
stack traceback:
[C]: in function 'require'
(command line):1: in main chunk
[C]: at 0x00402060

也就是安装后的jit文件夹最好放到编译包luajit.exe的同级包的lua文件夹下

参考链接:

https://tutel.me/c/programming/questions/44166483/luajit+on+windows+10+unknown+luajit+command+or+jit

https://blog.csdn.net/mydreamremindme/article/details/51372391

windows安装mingw和LuaJIT的更多相关文章

  1. MinGW x64 for Windows安装

    1. 百度搜索MinGW gcc 或直接登录 MinGW gcc官网 http://www.mingw.org/ 2.选择左侧download链接,进入下载页面 3.下载安装包mingw-get-se ...

  2. Windows下MinGW编译Qt4

    还真不是吹,这个问题折磨我一天……前些天转载了一篇关于<Eclipse+Qt开发环境设置>和<Eclipse+MinGW+Qt开发环境设置>两片文章,里面讲述了QT的开源版本q ...

  3. windows+CMake+mingw 搭建c c++开发环境

    layout: post title: "windows+CMake+mingw 搭建c c++开发环境" date: 2018-03-30 22:23:06 tags: wind ...

  4. win10 安装mingw ruby rails

    原文可以参考 https://ruby-china.org/topics/17581 在window10 安装ruby rails https://rubyinstaller.org/download ...

  5. .windows安装使用这些偏底层的Python扩展太

    .windows安装使用这些偏底层的Python扩展太不爽了,怎么彻底解决 error: Unable to find vcvarsall.bat呢? 1.不要按网上说的,安装MinGW,然后在“.. ...

  6. 手动安装minGW

    minGW是C语言编译包,将GCC编译器在Windows平台上编译软件提供支持. 手工安装minGW是一件很繁琐的事情,但是搞懂它很有用,因为C语言本身是一个很小的语法系统,全靠 各种库在支持,安装m ...

  7. Ubuntu下可以直接安装mingw(sudo apt-get install mingw32 mingw32-binutils mingw32-runtime,附例子,简单好用,亲测成功)good

    Mingw:在Linux系统下编译Windows的程序 Ubuntu下可以直接安装:sudo apt-get install mingw32 mingw32-binutils mingw32-runt ...

  8. windows安装theano和keras

    系统: Windows 2008 python版本: Anaconda3 1. theano 安装 pip install theano 2. 安装g++ 下载安装mingw, 推荐版本tdm64-g ...

  9. Windows安装C的编译环境

    对于java开发者来说安装C的编译环境不是非常熟悉,因此本文对C的安装环境进行介绍以及windows编译Redis和Zookeeper的过程.MinGW主要用于按照gcc.make等环境,cywin用 ...

随机推荐

  1. Netty源码分析--内存模型(上)(十一)

    前两节我们分别看了FastThreadLocal和ThreadLocal的源码分析,并且在第八节的时候讲到了处理一个客户端的接入请求,一个客户端是接入进来的,是怎么注册到多路复用器上的.那么这一节我们 ...

  2. 2.php语言基础

    HP简介 PHP超文本预处理器.是嵌入HTML文件中的服务器端脚本程序.换句话:PHP只能运行在服务器上. 一个HTML文件中,可以包含的代码:HTML代码.CSS代码.JS代码.PHP代码等. PH ...

  3. php opcodes(vld)翻译教程

    一.php opcodes的由来(如果你只想知道如何解php opcodes就直接跳过这步) 1.PHP内核-Zend引擎的详解:https://www.php.cn/php-weizijiaoche ...

  4. EVE-NG入门篇

    目录 一.EVE-NG配置要求 二.EVE-NG 安装 三.基于OVA的安装步骤 四.导入设备介绍 五.启动设备 六.与secure CRT关联 七.常见问题 一.EVE-NG配置要求 1.最低配置 ...

  5. Java面向对象特性总结

    1.面对对象与面对过程的区别 什么是封装?我看到过这样一个例子: 我要用洗衣机洗衣服,只需要按一下开关和洗涤模式就可以了.有必要了解洗衣机内 部的结构吗?有必要碰电动机吗?有必要了解如何通电的吗? 如 ...

  6. 结合suctf-upload labs-RougeMysql再学习

    这篇主要记录一下这道题目的预期解法 做这道题首先要在自己的vps搭建一个rouge mysql,里面要填写需要读取客户端的文件名,即我们上传的phar文件路径 先搭一个rouge mysql测试看看: ...

  7. 十分钟搞懂Lombok使用与原理

    1 简介 Lombok是一款好用顺手的工具,就像Google Guava一样,在此予以强烈推荐,每一个Java工程师都应该使用它.Lombok是一种Java™实用工具,可用来帮助开发人员消除Java的 ...

  8. copy好文“IT34岁危机破解心法”

    在博客园中偶然发现一个好文,收藏并记录以下.在工作中更多的从企业单位用人角度去思考,或许能在职场及职业规划中更加的游刃有余,有的放矢.下面是原文. 本文题目虽是“IT人34岁危机”破解心法,但内容同样 ...

  9. Java网络编程 -- NIO非阻塞网络编程

    从Java1.4开始,为了替代Java IO和网络相关的API,提高程序的运行速度,Java提供了新的IO操作非阻塞的API即Java NIO.NIO中有三大核心组件:Buffer(缓冲区),Chan ...

  10. 【阿里云IoT+YF3300】3. Alink物模型之属性上传和下发

    [名词解释]属性:设备的功能模型之一,一般用于描述设备运行时的状态,如环境监测设备所读取的当前环境温度等.属性支持 GET 和 SET 请求方式.应用系统可发起对属性的读取和设置请求. 在上一篇文章& ...