|
Thank you Scuri, Thijs and Russ, for your posts. They were all helpful and have helped me move forward on this. I’m not there yet but I’m making progress. I’ve managed to use LuaRocks to build various modules.
Scuri – can I clarify a couple of things?
I have now found a whole bunch of core binaries for Lua (5.3.5), IM (3.13), CD (5.12), IUP (3.26) and LuaGL (1.11) in SourceForge. It looks to me if the core dll files I need (given that I’m looking for 32-bit Visual Studio 2017 compatible and Lua 5.3.5 compatible binaries) are the dlls in these zip files:
· lua-5.3.5_Win32_dll15_lib.zip
· im-3.13_Win32_dll15_lib.zip
· im-3.13-Lua53_Win32_dll15_lib.zip
· cd-5.12_Win32_dll15_lib.zip
· cd-5.12-Lua53_Win32_dll15_lib.zip
· iup-3.26_Win32_dll15_lib.zip
· iup-3.26-Lua53_Win32_dll15_lib.zip
· luagl-1.11-Lua53_Win32_dll15_lib.zip
Does that look right? i.e. IM, CD and IUP have an extra set of Lua5.3-related dlls that have to be added in separately; and Lua and Luagl don’t. Correct?
Also, I have a problem: For historical reasons, I use run-time dynamic linking. To call a function in “lua53.dll”, I call the win32 function ::LoadLibrary, passing it the path to lua53.dll, and then call ::GetProcAddress to get the addresses of all the functions I need to call. I’ve managed to get that working for lua53.dll (had to make some updates because of changes to the API since 5.1, but so far that seems OK). But I also need to call a couple of functions in iuplua53.dll (specifically iuplua_open and iuplua_close). And that is not working. When I call ::LoadLibrary for iuplua53.dll, the call fails (returns NULL).
I have copied all of the DLLs from the zip files above, into a single folder – including iuplua53.dll. I tried running Dependency Walker and Dependencies, to view the dependencies for iuplua53.dll. The former produces various warnings, but I think they’re all spurious and just there because Dependency Walker was never updated for Windows 10. ‘Dependencies’ shows no problems with iuplua53.dll in this context. And yet LoadLibrary fails. Any thoughts as to what the problem might be?
Simon
From: lua-l-bounces@lists.lua.org [mailto:lua-l-bounces@lists.lua.org] On Behalf Of Antonio Scuri
Sent: 21 March 2019 8:57 PM
To: Lua mailing list
Subject: Re: Looking for Lua Binaries for MSVC 2017
Hi Simon,
The packages you are looking for are named "xxxx_Win32_dll15.zip", at least for LuaGL, IUP, CD, IM and LuaBinaries. They are available even for Lua 5.1. Notice that for each library there are two packages to download, the regular library and the Lua binding.
The "Tools Executable" package in the IUP downloads contains almost all the DLLs you need. But they were built with Visual C++ 10 (Visual Studio 2010), so they will still work in Windows XP.
Unless you have a very specific need, that I'm not aware of, the vc10 DLL will work fine in Visual Studio 2017. There are just a few ground rules for that to work, for instance memory allocated in one module should be freed by that module, the same with other handles like FILE*. Since you are using Lua, then this is quite simple.
Best,
Scuri
Em qua, 20 de mar de 2019 às 12:57, Simon Orde <SimonOrde@family-historian.co.uk> escreveu:
Hi - I have a Visual C++ application that supports Lua plugins using a wide variety of Lua DLLs. The previous version of the program was written in Visual Studio 2010 and uses Lua 5.1.4. The Lua DLLs all had to be versions that were built specifically for the 2010 version of the MSVC compiler. This is because they had to be linked to the C runtime libraries that were specific to MSVC 2010.
I have now upgraded to Visual Studio 2017 which means that I need new compatible versions of all my Lua DLLs. My program is still built 32-bit, so I need 32-bit DLLs. Can anyone suggest where I can get these please? I had a look at the LuaBinaries page on SourceForge and elsewhere, but cannot find a suitable source for the DLLs.
If possible, I would like DLLs that will not need to be replaced if I upgrade my compiler in the future. Any advice on this issue would be appreciated too.
I presume that I will need to upgrade to Lua 5.3.5?
The core Lua DLLs that I need are:
CD (16 dlls)
IM (16 dlls)
IUP (29 dlls)
LUA5.1.dll (or its equivalent for Lua 5.3.5)
LUACOM.DLL
LUAGL.DLL
LFS.DLL
In addition I also need
LUASQL(4 dlls - Kepler project)
MD5 (2 dlls - Kepler project)
SOCKET (2 dlls - LuaRocks)
ZIP.DLL (LuaRocks)
All help very much appreciated.
Simon