windows安装mingw和LuaJIT
1,安装mingw64
先下载mingw64压缩包(不建议下载exe安装包,在线安装太慢),地址如下:
下载之后解压到某路径,然后将其中的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.exe
和lua51.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的更多相关文章
- MinGW x64 for Windows安装
1. 百度搜索MinGW gcc 或直接登录 MinGW gcc官网 http://www.mingw.org/ 2.选择左侧download链接,进入下载页面 3.下载安装包mingw-get-se ...
- Windows下MinGW编译Qt4
还真不是吹,这个问题折磨我一天……前些天转载了一篇关于<Eclipse+Qt开发环境设置>和<Eclipse+MinGW+Qt开发环境设置>两片文章,里面讲述了QT的开源版本q ...
- windows+CMake+mingw 搭建c c++开发环境
layout: post title: "windows+CMake+mingw 搭建c c++开发环境" date: 2018-03-30 22:23:06 tags: wind ...
- win10 安装mingw ruby rails
原文可以参考 https://ruby-china.org/topics/17581 在window10 安装ruby rails https://rubyinstaller.org/download ...
- .windows安装使用这些偏底层的Python扩展太
.windows安装使用这些偏底层的Python扩展太不爽了,怎么彻底解决 error: Unable to find vcvarsall.bat呢? 1.不要按网上说的,安装MinGW,然后在“.. ...
- 手动安装minGW
minGW是C语言编译包,将GCC编译器在Windows平台上编译软件提供支持. 手工安装minGW是一件很繁琐的事情,但是搞懂它很有用,因为C语言本身是一个很小的语法系统,全靠 各种库在支持,安装m ...
- 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 ...
- windows安装theano和keras
系统: Windows 2008 python版本: Anaconda3 1. theano 安装 pip install theano 2. 安装g++ 下载安装mingw, 推荐版本tdm64-g ...
- Windows安装C的编译环境
对于java开发者来说安装C的编译环境不是非常熟悉,因此本文对C的安装环境进行介绍以及windows编译Redis和Zookeeper的过程.MinGW主要用于按照gcc.make等环境,cywin用 ...
随机推荐
- ES 26 - 通过partial update局部更新索引文档 (partial update增量修改原理)
目录 1 什么是partial update 1.1 全量修改文档的原理 1.2 修改指定field的思路 1.3 partial update的优势 1.4 partial update的使用 2 ...
- Docker部署网站之后映射域名
Docker中部署tomcat相信大家也都知道,不知道的可以google 或者bing 一下.这里主要是为了记录在我们启动容器之后,tomcat需要直接定位到网站信息,而不是打开域名之后,还得加个bl ...
- Oracle、MySQL和Sqlserver的事务管理、分页和别名的区别
1.在mysql中事务默认是自动提交的,只有设置autocommit为0的时候,才用自己commit(commit--rollback回滚) 2.但是在oracle中必须自己commit;不然就只能结 ...
- c#Winform自定义控件-目录
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control ...
- 【JVM从小白学成大佬】开篇
JVM的重要性毋庸置疑,可以毫不夸张的说Java虚拟机是整个Java平台的基石. JVM方面的知识,也一直是BAT等大厂面试考核的重点.特别是JVM调优,故障排查性能调优,你知道该从哪些方面入手吗? ...
- mysql------explain工具
基于mysql5.7,innodb存储引擎 使用explain关键字可以模拟优化器执行SQL语句,分析你的查询语句或是结构的性能瓶颈 在 select 语句之前增加 explain 关键字,MySQL ...
- 如何比较装X地回答问题 | 面试系列.1
公众号后台比较多同学让我写面试相关的文章,在<从面试官的角度谈谈大数据面试>也聊了很多,但是有同学吐槽说我没有把答案写上去,当时我的心里是拒绝写的,这有啥好写的,又不难,Google一大堆 ...
- Linux基础命令和文件权限
Linux命令与文件权限 Linux基础命令 reboot 重启 cd 切换目录 cd .. 回到上一级目录 cd ~ 回到主目录 cd / ...
- effective java 3th item1:考虑静态工厂方法代替构造器
传统的方式获取一个类的实例,是通过提供一个 public 构造器.这里有技巧,每一个程序员应该记住.一个类可以对外提供一个 public 的 静态工厂方法 ,该方法只是一个朴素的静态方法,不需要有太多 ...
- HZNU 2019 Summer training 6 -CodeForces - 622
A - Infinite Sequence CodeForces - 622A 题目大意:给你一个这样的数列1,1,2,1,2,3,1,2,3,4,1,2,3,4,5....就是从1~n排列(n++ ...