How to compile Lua 5.3.0 for Windows
This is a tutorial on how to compile Lua 5.3.0 for Windows (executable and DLL) with Microsoft Visual Studio Express.
1. download and install Visual Studio 2010 Express (Windows 7) or Visual Studio 2012 Express (Windows 8) – do not use any older/newer version (haven’t tested them)
2. download and extract the Lua 5.3.0 source code
3. open a Visual Studio Command prompt, navigate to the extracted Lua src\
folder and run inside this folder the following commands
1 2 3 4 5 6 7 8 9 |
cl /MD /O2 /c /DLUA_BUILD_AS_DLL *.c ren lua.obj lua.o ren luac.obj luac.o link /DLL /IMPLIB:lua5.3.0.lib /OUT:lua5.3.0.dll *.obj link /OUT:lua.exe lua.o lua5.3.0.lib lib /OUT:lua5.3.0-static.lib *.obj link /OUT:luac.exe luac.o lua5.3.0-static.lib |
You’re done! You should now have a lua.exe
interpreter, a luac.exe
compiler and a lua5.3.0.dll
.
21 Comments to How to compile Lua 5.3.0 for Windows
What about sharing the compiled binaries to avoid downloading a 600 MB compiler suite from Microsoft ?
February 3, 2015
here you go lua5.3.0.zip
If you’d compile it by yourself, you would be able to adjust some settings (luaconf.h) by your needs.
February 4, 2015
x86 and x64 Microsoft Visual Studio 2012 Express Compile
http://1drv.ms/1DEAkLw
and Thanks for compile tip Dennis.
February 5, 2015
Thank you sir! I am very glad to have found your tutorial.
December 9, 2015
[…] 參考自 How to compile Lua 5.3.0 for Windows P.S. 這篇文章是參考自 Youtube […]
January 5, 2016
Awesome! I was looking for something like this!
February 5, 2016
March 21, 2016
Thank you, safe me many hours
April 24, 2016
The build script you posted didn’t work properly for me. There were build errors and it didn’t output a DLL. I modified it so it works, and compiles much faster:
del *.obj *.dll *.lib *.o *.exp
cl -MP -MD -O2 -c -DLUA_BUILD_AS_DLL *.c
ren luac.obj luac.o
link -subsystem:console -dll -implib:lua53.lib -out:lua53.dll *.obj
link -out:lua.exe lua.obj lua53.lib
lib -out:lua53-static.lib *.obj
link -out:luac.exe luac.o lua53-static.lib
April 27, 2016
Can someone tell me how I compile the interpreter and the dll for x64?
July 3, 2016
[…] Anleitung: von Dennis D. Spreen, diese bezieht sich auf Visual Studio 2010/2012 aber es sollte auch mit der aktuellen VS Version […]
July 4, 2016
Hi lamonese,
I build 64-bit Lua with VS2014/15 (win10). You find the hints (written in german) here:
* how to prepare VS : https://lua64bit.wordpress.com/2016/07/03/wie-erstelle-ich-mit-vs-ein-64-bit-modul/
* build 64-bit lua: https://lua64bit.wordpress.com/2016/07/03/selfmade-lua/
July 18, 2016
To keep with Lua’s dynamic nature Ravi uses a mix of compile type checking and runtime type checks. However due to the dynamic nature of Lua, compilation happens at runtime anyway so effectually all checks are at runtime.
August 16, 2016
ummm VG… i’m concerned about the del command, so im not using your command until i get that error
January 19, 2017
Hi Dennis,
Thanks for your lua5.3.0.zip compiled package from 2015. Still works like a charm :-).
I’m using it with the Atom editor and linter-lua package. Perfect!
Arjan
February 3, 2017
how do i compile wlua for lua 5.3.4 or 5.3.3?
November 1, 2017
Thank you so much for your help, I just compiled lua with msvc2015 32 bits thanks to you
June 10, 2019
Hello,
I came here by hazard, if someone is interested, this is the Makefile I use to statically link Lua with MSVC (embedded usage).
[…] posts How to compile Lua 5.3.0 for Windows How to compile Lua 5.3.0 as a Mac OS X dynamic library How to compile Lua 5.3.0 for Android as a […]
June 25, 2019
@Vlad: Thank you!
March 29, 2020
[…] cl /MD /O2 /c /DLUA_BUILD_AS_DLL *.c ren lua.obj lua.o ren luac.obj luac.o link /DLL /IMPLIB:lua5.3.0.lib /OUT:lua5.3.0.dll *.obj link /OUT:lua.exe lua.o lua5.3.0.lib lib /OUT:lua5.3.0-static.lib *.obj link /OUT:luac.exe luac.o lua5.3.0-static.lib – from https://blog.spreendigital.de/2015/01/16/how-to-compile-lua-5-3-0-for-windows/ […]
Leave a comment
About Dennis D. Spreen
Search
Recent Posts
- How to compile Lua 5.4.0 for Android as a dynamic library using Android Studio 4
- Please make inline vars usable for production – fix RSP-28892
- How to compile Lua 5.4.0 as a Mac OS X dynamic library
- How to compile Lua 5.4.0 for Linux as a shared library
- How to compile Lua 5.4.0 for Windows
- Daily Wage – a Spigot/Bukkit plugin that pays out a daily wage
- How to compile Lua 5.3.5 for Windows
- Better Collada exporter for Blender with custom properties
- MOS6502-delphi – a MOS 6502 CPU emulator for Delphi
- Pass a multidimensional array as a parameter (with a hidden caveat)
Categories
Tags
Archives
- May 2020
- March 2020
- June 2019
- March 2017
- August 2016
- July 2016
- June 2016
- January 2016
- September 2015
- February 2015
- January 2015
- October 2014
- September 2014
- August 2014
- May 2014
- March 2014
- February 2014
- November 2011
- June 2011
- February 2011
- March 2010
- September 2009
- August 2009
- July 2009
- May 2009
- March 2009
- February 2009
- January 2009
- November 2008
- October 2008
- February 2008
- June 2007
Delphi Feeds
- Select and edit directory paths in Delphi desktop applications with TTMSFNCDirectoryEdit November 20, 2024
- How To Use WebStencils To EASILY Create Modern, Professional, Superfast Websites November 19, 2024
- Creating Heatmaps in TMS FNC Maps for Delphi November 19, 2024
- Discover C++Builder 12.2 – Asia Pacific Webinar November 19, 2024
- The Horror of finding the right database! Part 2 November 18, 2024
- Using ARM runner to automatically build releases for Raspberry Pi using GitHub Actions November 16, 2024
- Signing and Validating JWTs with Private/Public Keys in Delphi with XData November 16, 2024
- QuickReport Is Back! November 15, 2024
- TMS Cryptography Pack Beta available November 14, 2024
- New Features in TMS FNC Chart: Enhanced Data Integration, Flexibility and Styling November 14, 2024
February 3, 2015