C++ Lua 5.1问题

这似乎传递了几个错误,如:

错误 LNK2019:在函数 _main main.obj 中引用的未解析的外部符号“char const* __cdecl lua_tolstring(struct lua_State*,int,unsigned int*)”(?lua_tolstring@@YAPBDPAUlua_State@@HPAI@Z)。

怎么回事?

原文链接 https://stackoverflow.com/questions/3951323

点赞
stackoverflow用户197657
stackoverflow用户197657

可能是您的代码没有问题,而是存在链接问题,它找不到 lua_tolstring 函数的定义。在链接时添加 lua 库,问题就应该解决了。

2010-10-16 23:49:40
stackoverflow用户255049
stackoverflow用户255049

你需要用extern "C"来包裹 lua 头文件,以获得正确的符号链接,同时链接到库(如果您没有将其编译到项目中)。

2010-10-16 23:52:01
stackoverflow用户419090
stackoverflow用户419090

Lua文件是以C语言编写的,因此您必须使用以下代码进行引用:

extern "C" { #include "luafiles.cpp" }

您只是在遇到链接错误。

2010-10-25 00:50:14
stackoverflow用户133025
stackoverflow用户133025

Lua 5.1 有一个 lua.hpp:

// lua.hpp
// 用于 C++ 的 Lua 头文件
// <<extern "C">> 不会自动添加,因为 Lua 还支持 C++ 编译

extern "C" {
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
}

只需 #include <lua.hpp> 即可。

2011-05-16 15:48:37
stackoverflow用户1292445
stackoverflow用户1292445

遇到了这个链接错误,所以我不得不改变

#define LUA_API extern

#define LUA_API extern "C"

顺便说一下,我正在使用 Lua 5.1。

2012-03-26 07:56:22