How to compile Lua 5.4.0 for Windows
This is a tutorial on how to compile Lua 5.4.0 for Windows (32-bit and 64-bit executable and DLL) with the Microsoft Visual Studio Community Edition.
1. Download and install Visual Studio Community Edition 2019 – do not use any older/newer version (tested with 16.6.0 only)
2. Download and extract the Lua 5.4.0 source code
3. Open a x86 Native Tools Command Prompt for VS 2019 to compile for 32-bit or open a x64 Native Tools Command Prompt for VS 2019 for 64-bit, then 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.5.lib /OUT:lua5.3.5.dll *.obj link /OUT:lua.exe lua.o lua5.3.5.lib lib /OUT:lua5.3.5-static.lib *.obj link /OUT:luac.exe luac.o lua5.3.5-static.lib |
You’re done! You should now have a lua.exe interpreter, a luac.exe compiler and a lua5.4.0.dll. You may use the %VSCMD_ARG_TGT_ARCH% environment variable to distinguish between 32- and 64-bit.
2 Comments to How to compile Lua 5.4.0 for Windows
The command script details refer to creating a 5.3.5 collection, not a 5.4.x collection of binaries.
May 23, 2025
You’re right. I’m going to update the post to the current version (5.4.7) the next days, thanks.
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
- Brackets Bad - #247 June 18, 2025
- When You Don't Have Multi-Line Strings - #248 June 18, 2025
- AI Codecamp 2025 DAY 2: What You May Have Missed, and What’s in Store For Day 3 June 17, 2025
- Of interest – GitHub – t-d-k/LibreCrypt: LibreCrypt: Transparent on-the-fly disk encryption for Windows. LUKS compatible. June 17, 2025
- AI Codecamp 2025 DAY 1: What You May Have Missed, and What’s in Store For Day 2 June 16, 2025
- Login to the Steema support forums June 16, 2025
- Real-time charting in TeeChart VCL June 16, 2025
- Daraja HTTP Framework 3.0.5 June 14, 2025
- Why MQTT Isn’t a Message Queue—and What It Really Is June 14, 2025
- Shaders! Large new documentation how to use shaders with Castle Game Engine, and new “shader libraries” (for now: to convert worldeye space comfortably), and new SetEffects methods June 14, 2025
May 23, 2025