我需要构建this Lua module并能够在已经包含Lua核心的另一个应用程序中使用它。模块将通过“ require”加载。
我在Windows 10上使用MinGW x64。我用它成功构建了Lua 5.2,提取了<tbody *ngIf="membershipList">
<tr *ngFor="let member of membershipList;">
<td class="text-center valign-middle">{{member.membership_name}}</td>
<td *ngFor="let list of membershipList;">
<input type="text" class="form-control form-control-sm text-center" [(ngModel)]="test">
</td>
</tr>
</tbody>
文件,并将其重命名为lua.dll
。
然后,我使用以下Makefile构建了模块:
liblua.dll.a
问题在于文件大小,它的大小为420kb,并且明确包含Lua核心(我收到“多个VM”错误)。我需要构建不包含核心的模块。
以前,我安装了普通的MinGW(x86),并使用了以下Makefile:
CC = x86_64-w64-mingw32-gcc
LUA_INCDIR=$(STAGING_DIR)/usr/include
utf8.dll: lutf8lib.o
$(CC) -m64 -O -shared -fpic lutf8lib.c -o utf8.dll -llua
lutf8lib.o: lutf8lib.c
$(CC) -O2 -fpic -c -DLUA_BUILD_AS_DLL lutf8lib.c -I$(LUA_INCDIR)
得到了没有Lua核心的97kb文件。不幸的是,我特别需要x64文件。
UPD:我试图使用MSVC构建相同的模块,但似乎IDE更改了CC = gcc
LUA_INCDIR=$(STAGING_DIR)/usr/include
utf8.dll: lutf8lib.o
$(CC) -m32 -shared lutf8lib.c -o utf8.dll -llua
lutf8lib.o: lutf8lib.c
$(CC) -fPIC -c lutf8lib.c -I$(LUA_INCDIR)
函数名称。如果我要添加此内容进行修复:
luaopen_utf8
IDE将把Lua核心VM包含在DLL文件中。再次。