编译 Lua 5.2 alpha 在 VS2010 下

我想在 Visual Studio 下编译 Lua 5.2 alpha,但我一直遇到错误,我不知道该如何解决这些错误。

错误 LNK1169:找到一个或多个多倍定义的符号
错误 LNK2005:_main已在lua.obj中定义

如果有任何人能够指导我创建用于 Lua 5.2 alpha 的 VS2010 解决方案,或者指向相关资源,我将非常感激。

提前表示感谢。

点赞
用户596285
用户596285

听起来你将lua.c或luac.c与另一个程序一起包含了。每个都是具有自己的主要功能的单独程序。如果要构建独立的Lua组件,您只需要包含其中一个,或者如果您要将Lua嵌入自己的应用程序中,则都不需要包含。

2011-06-12 13:02:43
用户169828
用户169828

你很可能在一个 Visual Studio 项目中同时编译 luac.clua.c。如果你想要在 VS 中自行构建 Lua,你需要三个项目:

  • library - 应该是 DLL 或静态库项目。应该包含 src/目录下的除了luac.clua.c以外的所有.c文件。只有在嵌入时才需要此项目。
  • compiler - 控制台可执行文件,包含 luac.c
  • interpreter - 控制台可执行文件,包含 lua.c
2011-06-12 13:04:41
用户298661
用户298661

Lua 源代码分发版包括一个控制台解释器,其中已经定义了 main,而您不需要它。只需查看 Lua 源代码并删除或注释掉发现的 main 即可。

2011-06-12 13:08:48