I used dumpbin /exports to look at what was being exported by what. Cynically and curiously enough the luaL_newlib macro was the only thing calling the version check so I just expanded it and removed that call and tentatively I think it successfully loads now, however I'm sure that call was added for a reason.
On 23/06/2019 20:32, Francisco Olarte wrote:
> Marcus:
>
> On Sun, Jun 23, 2019 at 3:06 AM Marcus Mason <m4gicks@gmail.com> wrote:
>> Thanks for the reply. The host app does not export its lua API symbols. I had seen some kind of proxy dll on the lua wiki as a workaround but I'm not sure it's updated and/or relevent to my case?
>
> Are you sure it does not? The fact that something DETECTS multiple VM
> version hints at two copies being exported, and from what you told it
> seem host links statically and export and you link statically and
> export, hence the collision. I'm not familiar with windows, but there
> are surely some tools for listing exported symbols for it.
>
> Francisco Olarte.
>
>
Since no-one has mentioned it, it is worth saying that Dependency Walker
[1] is a nice freeware tool for Windows that allows checking which
symbols are exported/imported by executables and DLLs.
Cheers!
-- Lorenzo
[1] http://www.dependencywalker.com/