我真的有一个问题,我不明白它为什么会存在。 我想使用LUA作为脚本语言将其嵌入到C ++应用程序中。
我已经下载了LUA-binaries(版本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:
打印(&#34; LUA的Hello World; \ n&#34;)
正如您所看到的,这是一个非常简单的代码。
我编辑了include目录以包含头文件的路径,我编辑了库目录以包含库lua52.lib
的路径。
但由于某种原因,我收到错误:&#34;错误LNK2019 ......&#34;
我希望有人知道该怎么做。
谢谢!
答案 0 :(得分:0)
&#34; bitness&#34;需要对应,库和目标需要建立在同一个目标平台上;所以对于64位库,你的二进制文件也需要是64位的;这同样适用于32位版本。
您需要链接库;
#pragma comment(lib, "lua52.lib") // note the .lib
该问题被标记为C ++。 Lua似乎是implemented in C,因此在您的C ++应用程序中(如果是这样编译的;这是默认设置),您可能需要将其包含为;
extern "C" {
#include "lua.hpp"
}