未找到Lua.h函数定义

时间:2017-05-10 01:24:25

标签: visual-studio-2015 lua

我在我的c ++项目中实现了Lua但我得到了未解决的外部符号错误,因为Lua.h没有找到函数定义。 我在"附加库目录"中添加了lua.lib的路径,"附加的依赖项"中的lua.lib;以及包含目录中包含头文件(lua.h,lua.hpp,luaconf.h,lualib.h,luaxlib.h)的include文件夹。

enter image description here

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

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

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

如果你看一下lua.hpp的内容,你就会明白为什么:)它只是在extern "C"中包装Lua头,这是C ++编译器将这些Lua函数定义识别为使用所需的C ABI(没有它,链接器将在DLL中查找错误的符号)。

答案 1 :(得分:0)

似乎现在它正在运作。

我所做的只是将动态库更改为静态库并重建解决方案,现在它正在工作但是如果我进入Lua.h,我看到了函数声明的相同问题,但现在它可以正常运行...