繁体   English   中英

你如何使用visual studio 2012设置LuaBind?

[英]How do you set up LuaBind with visual studio 2012?

我一直试图这样做一天。 我已经阅读了文档,并在网上寻求帮助。 我似乎无法在使用预编译头文件和VS2010 vs VS2012的不同版本的boost / lua / luabind之间弄清楚。

我在这里找到了一个很棒的网站http://blog.nuclex-games.com/tutorials/cxx/luabind-introduction/但是当我按照这些说明我得到了LNK2019错误(我假设是因为他建立了luabind / boost / lua VS2010。

我也发现了这个, http: //urbsch.at/?read = 1我接受了项目并将地址更改为我的boost / lua文件并且编译得很好但是当我尝试运行我使用luabind的项目时我仍然收到LNK2019错误。

我正在使用2012年的视觉工作室。如果有人能列出一些一步一步的说明,我将非常感激。 包括下载内容以及在项目属性中添加的位置和内容。 因为在这一点上我肯定如果它不是万无一失的话我会搞砸它。

这是我经常遇到的49个错误之一。

1> ScriptManager.obj:错误LNK2019:未解析的外部符号_lua_gettop在函数“public:__thiscall luabind :: adl :: index_proxy :: index_proxy中引用(类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)

好吧,我想出来了(不久前。)这里是完整的,一步一步的,关于如何让它工作的傻瓜证明说明。

1)从这里下载演示http://blog.nuclex-games.com/tutorials/cxx/luabind-introduction/

2)创建一个新文件(比如“部件”)来保存luabind的三个部分。

3)从上面的下载中打开参考文件夹,将这3个文件夹移动到刚刚创建的“Parts”文件夹中。

4)现在您需要为Lua和LuaBind重新编译新的.lib文件。 从上面的下载中打开LibrarySources.7z文件。

4)创建一个名为Lua的新Visual Studio 2012项目,打开将“LibrarySources.7z / lua-5.2.0 / src”中的所有文件提取到visual studio通常放置.cpp和.h文件的位置。

5)将文件添加到项目中(项目浏览器的头文件夹中的.h文件和源文件夹中的.c文件。)

6)转到SolutionExplorer-> Properties-> General-> Configuration_Type并将其设置为静态库(.lib)

7)编译项目。

8)转到lua项目的文件夹调试文件夹并提交您创建的lua.lib文件。

9)现在转到你为“Parts / Lua”创建的“Parts”文件夹你应该看到有两个文件夹说msvc-10.0-x64 / 86,创建一个新的文件,说明msvc-11.0-x86并放入lua。你刚刚创建的lib文件。

10)对于luabind,你需要做同样的事情,但是你只需要从luabind中提取src文件夹到你的项目。

11)现在在项目属性C / C ++ - >其他包含目录中,添加“C:/ Parts / boost / include”“C:/ Parts / lua / include”和“C:/ Parts / luabind / include”

12)现在转到Linker-> General-> Additional Library Directories并添加“C:/Parts/lua/msvc-11.0-x86”

13)现在返回解决方案资源管理器 - >属性 - >常规并将其更改为静态库。

14)编译它,转到它的debug文件夹并将你创建的luabind.lib添加到parts / luabind / msvs-11.0-x86,就像你为lua所做的那样。

15)现在你正在项目中想要使用luabind和Go to Properties-> C / C ++ - > General并添加“C:/ Parts / boost / include”“C:/ Parts / lua / include”和“ C:/零件/ luabind /包括”

16)转到属性 - >链接器 - >常规 - >其他库目录,并将地址添加到刚刚创建的.lib文件中。

鳍。

我现在无法发布一个完整的答案,因为我正在打电话但是我有一些事情要让luabind正常工作。

  1. Luabind 0.9.1不适用于lua 5.2.x. 仅适用于5.1.x.

  2. 如果您正在构建lua,则不使用c ++编译器。 Lua bind使用extern C来导入lua头文件,使用c ++会导致一些冲突。

  3. 如果您使用的是lua的预构建,请确保它是使用vs2012构建的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM