Lua.h函数定义找不到

我在我的c ++项目中实现Lua,但由于Lua.h找不到函数定义,我正在获取未解决的外部符号错误。 我已将lua.lib的路径添加到"Additional library directories"中,将lua.lib添加到"Additional dependencies"中,并在include目录中添加了头文件(lua.h、lua.hpp、luaconf.h、lualib.h、luaxlib.h)。

enter image description here

我正在使用visual studio community 2015,而lua是5.3.3来自Lua Binaries "lua-5.3.3_Win32_dll14_lib.zip"这个是win32版本的动态库,但我已经测试了win32静态和win64动态和静态版本,结果相同。

有什么想法吗?

点赞
用户2796594
用户2796594

在从 C++ 应用程序中使用 Lua 时,需要使用 #include "lua.hpp" 而不是 lua.h

如果你浏览 lua.hpp 的内容,你会明白为什么 :) 它只是在 Lua 标头中包装了 extern "C",这是为了让 C++ 编译器识别这些 Lua 函数定义使用的 C ABI(否则链接器将在 DLL 中寻找错误的符号)。

2017-05-10 04:06:36
用户6815430
用户6815430

似乎现在它在运行。

我所做的就是将动态库改为静态库,并重新构建解决方案,现在它在运行,但是如果我进入 Lua.h,我会看到相同的函数声明问题,但是现在它可以正确运行,没有错误......

2017-05-10 11:53:57