如何在Visual Studio 2012中设置LuaBind?
我已经尝试了一整天。我阅读了文档,并在网上寻求帮助。我似乎无法弄清如何在不同版本的boost/lua/luabind与预编译标题以及VS2010与VS2012之间进行选择。
我在这里找到了一个很好的网站 http://blog.nuclex-games.com/tutorials/cxx/luabind-introduction/ 但是,当我按照这些说明执行时,我会收到LNK2019错误(我假设这是因为他使用VS2010构建了luabind/boost/lua)。
我还找到了这个,http://urbsch.at/?read=1 我使用该项目并将地址更改为我的boost/lua文件,它编译得很好,但是当我尝试运行正在使用luabind的项目时,我仍然收到LNK2019错误。
我正在使用visual studios 2012。如果有人能列出一些逐步说明,我会非常感激。包括在哪里下载以及在项目属性中添加什么。因为在这一点上,如果不是傻瓜式的,我肯定会搞砸它。
这是我经常遇到的49个错误之一。
1>ScriptManager.obj:错误 LNK2019:未解析的外部符号_lua_gettop,在函数“public: __thiscall luabind::adl::index_proxy::index_proxy(class luabind::adl::object const &,struct lua_State *,char const (&)[13])”中引用(??$?0$$BY0N@$$CBD@?$index_proxy@Vobject@adl@luabind@@@adl@luabind@@QAE@ABVobject@12@PAUlua_State@@AAY0N@$$CBD@Z)
将 LuaBind 集成到 Visual Studio 2012 的步骤
以下是完整的步骤指南,教你如何让 LuaBind 在 Visual Studio 2012 中工作。
从 链接 下载演示版。
创建一个新文件(例如 "Parts" 文件夹),用于保存 luabind 所需的三个部分。
打开上面下载的参考文件夹,并将其中的 3 个文件夹移到刚刚创建的 "Parts" 文件夹中。
现在需要重新编译 Lua 和 LuaBind 的新的 .lib 文件。打开上面下载的 LibrarySources.7z 文件。
在 Visual Studio 2012 中创建一个名为 Lua 的新项目,打开 "LibrarySources.7z/lua-5.2.0/src" 中的所有文件,并将它们提取到 Visual Studio 通常放置 .cpp 和 .h 文件的地方。
将这些文件添加到项目中(将 .h 文件添加到项目资源管理器的头文件夹中,将 .c 文件添加到源文件夹中)。
进入到 SolutionExplorer->Properties->General->Configuration_Type,将其设置为 "Static Library (.lib)"。
编译项目。
前往你的 Lua 项目的 debug 文件夹,找到你刚刚创建的 lua.lib 文件。
对于 LuaBind,需要做相同的事情,不过你只需要将 src 文件夹提取到项目中。
现在在项目属性的 C/C++ -> Additional Include Directories 中,添加 "C:/Parts/boost/include"、"C:/Parts/lua/include" 和 "C:/Parts/luabind/include"。
然后在 Linker->General->Additional Library Directories 中添加地址 "C:/Parts/lua/msvc-11.0-x86"。
现在回到 SolutionExplorer->Properties->General,将其更改为一个静态库。
编译该项目,前往 Debug 文件夹,并将你所创建的 luabind.lib 文件添加到 parts/luabind/msvs-11.0-x86 中,就像你为 lua 所做的那样。
现在在你想要使用 luabind 的项目中,前往 Properties->C/C++ -> General,添加 "C:/Parts/boost/include"、"C:/Parts/lua/include" 和 "C:/Parts/luabind/include"。
再次前往 properties->linker->general->Additional Library Directories,并将你刚刚创建的两个 .lib 文件的地址都添加到其中。
完成。
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
我现在无法发布完整的答案,因为我在手机上,但是我必须为 luabind 做一些必要的工作才能正常工作。
Luabind 0.9.1 无法与 lua 5.2.x 一起工作,仅能与 5.1.x 一起工作。
如果您正在构建lua,请勿使用c++编译器。Lua bind 使用 extern C 导入 lua headers,使用c++会导致一些冲突。
如果您正在使用 lua 的预构建版本,请确保它是使用 vs2012 构建的。