LNK2019是Visual Studio 2013中的错误代码。

我有一个问题,我不明白为什么会出现这种情况。 我想将 LUA 作为脚本语言嵌入到 C++ 应用程序中。

我已经下载了 LUA 二进制文件(版本 5.2.3 win64 vc12;在撰写本文时,是最新版本)。

首先,我尝试了一个简单的“Hello World”,它看起来像这样:

main.cpp:

#pragma comment(lib, "lua52")

#include <stdio.h>
#include "lua.hpp"

int main(int argc, char* argv[])
{
   printf("Hello World of c++\n");

   lua_State* L = luaL_newstate();

   luaopen_base(L);

   if (luaL_dofile(L, "test01.lua"))
   {
       printf("%s\n", lua_tostring(L, -1));
   }

   lua_close(L);

   getchar();

   return 0;
}

test01.lua:

print("Hello World of LUA\\n")

如您所见,这是非常简单的代码。

我已编辑了包含目录以包含头文件路径,并编辑了库目录以包含库“lua52.lib”的路径。

但出现“error LNK2019...”的错误。

希望有人知道该怎么做。

谢谢!

点赞
用户3747990
用户3747990

"位数"需要对应,库和目标需要构建到同一个目标平台;因此,对于64位库,你的二进制文件也需要是64位的;对于32位版本同样适用。


你需要链接库;

#pragma comment(lib, "lua52.lib") // 注意.lib

该问题被标记为 C++。Lua似乎是用C实现的,因此在你的C++应用程序中(如果编译为这样;这是默认设置),您可能需要将其包含为;

extern "C" {
  #include "lua.hpp"
}
2014-09-09 12:05:08