Sous Visual Studio (2017), j'essaie de script un programme C++ avec Lua 5.3 mais le linker ne trouve pas trois noms de fonctions référencées dans mon fichier source C++ :
symbole externe non résolu _lua_close
symbole externe non résolu _lua_createtable
symbole externe non résolu _luaL_newstate
J'ai pris la source C++ de la Site web Lua .
J'ai téléchargé la bibliothèque dynamique Lua 5.3 qui n'est pas fournie avec une bibliothèque d'importation. J'ai donc créé la bibliothèque d'importation avec les outils MSVC comme suit :
dumpbin /exports E:\Documents\Programmation\Lua5.3\lua53.dll
A partir de la sortie de dumpbin, j'ai copié les 146 noms dans un nouveau fichier "mylua53lib.def" et j'ai lancé lib pour générer le fichier .lib comme ceci :
lib /def:E:\Documents\Programmation\Lua5.3\mylua53lib.def /OUT:E:\Documents\Programmation\Lua5.3\mylua53lib.lib /machine:x86
Les trois noms de fonctions que le linker ne trouve pas n'apparaissent en effet pas dans la sortie de la commande dumpbin.