1

我正在尝试编写可以从 Lua 访问的 C++ 类/函数。

我需要将 C++ 库导出为 dll 文件。

我正在使用 Microsoft Visual C++.2010 Express

所以我创建了一个项目并添加了需要的 .cpp 文件和 .h 文件现在当我尝试构建时,会出现以下错误。

mylib.obj:错误 LNK2019:函数“void __cdecl g_initializePlugin(struct lua_State *)”(?g_initializePlugin@@YAXPAUlua_State@@@Z) 中引用了无法解析的外部符号 _lua_settop

所有 lua 函数都会出现类似的错误。谷歌搜索时,我了解到我必须链接 LUA。

如何在 Visual C++ 中做到这一点。

PS 我找到了一个解决方案,指导我给

#pragma comment( lib, "lua5.1" ) 

对于这个解决方案,它需要一个 lua5.1 文件。我应该从哪里下载该文件以及它应该去哪里(在项目文件夹中?)?

4

1 回答 1

2

好的!我想通了!

要链接 Lua,必须在创建 C++ 项目后执行以下操作。

  • 复制 C:\Program Files\Lua\5.1\lib\lua5.1.dll 到你的项目文件夹
  • 复制 C:\Program Files\Lua\5.1\lib\lua5.1.lib 到你的项目文件夹
  • 右键单击项目 --> 属性 --> 配置属性 --> 链接器 --> 输入。
    • 将 lua5.1.lib 添加到附加依赖项
  • 右键单击项目 --> 属性 --> 配置属性 --> VC++ 目录。
    • 添加 C:\Program Files\Lua\5.1\include 以包含目录

注意:我的 lua 安装在 C:\Program Files\Lua\5.1

现在在构建项目时,会创建 dll 文件!

于 2012-05-23T10:15:07.850 回答