使用 Visual Studio 静态链接 Lua 14

Statically linking Lua using Visual Studio 14

我正在尝试 link 最新的 Lua 库与我的 x86 应用程序使用 Visual Studio 14. 我在附加依赖项下添加了库,并包含了适当的头文件 ( lua.hpp,我也尝试了手动 extern "C" 方法。)我正在将我的模块编译为 x86 二进制文件并使用正确的 Lua 二进制文件(x86。)我得到的错误如下:

LNK2019 unresolved external symbol "struct lua_State * __cdecl luaL_newstate(void)" (?luaL_newstate@@YAPAUlua_State@@XZ) referenced in function _DllMain@12

显然头文件已经声明了 luaL_newstate 函数,但是查看提供的二进制文件的 (lua53.lib) 符号,很明显它实际上并没有提供任何这样命名的符号 -相反,它有一个名为 _luaL_newstate.

我做错了什么?

我想通了,我在别处包含了 C 头文件(lua.hlauxlib.h 等)。删除那些解决了我的问题。