main的多个定义
Multiple definitions of main
如何在c++程序中正确实现Lua ?我下载了Lua源代码,把。C文件放在我的src文件夹里,把。h文件放在我的include文件夹里,把Lua .h包含在我的程序源代码里(当然要加上extern "C"{}),然后点击"Build"。
这就是所有教程告诉我在c++项目中使用Lua的方法。
但现在我得到错误"多重定义的主要"和一些符号在Lua代码,无法解决。我知道第一个错误意味着什么(冲突,因为Lua有一个main,我的程序也有一个),但我该如何解决它?
或者我对在c++程序中实现Lua的理解是完全错误的?
检查以确保您的源代码中没有包含luac.c
, lua.c
以及Lua中包含的任何其他程序的源代码。Lua的源代码包括一些额外的实用程序(例如luac),您可能只是将它们包含在项目中而忘记删除它们,从而导致有多个main
。
所以,在你误解如何使用Lua的问题上,你可能在某种程度上误解了。将Lua的源代码复制到您的代码中是完全可能的,尽管可能不太可取。您真正需要做的是在终端中提取Lua源并构建它。然后(根据Lua的INSTALL
文档),您需要键入make platform
,在那里您将用当前使用的任何平台替换platform
(即,我会使用macosx
,您可能会使用linux
,参考INSTALL
支持的平台)。在那之后,如果你想安装它或不安装它取决于你,但你只需要执行make install
(或sudo make install
)来完成它。
之后,在编译链接到Lua(例如,-llua
)时添加适当的链接器标志,或者在编辑器中更改项目的设置来做大致相同的事情。也就是说,您需要参考Lua提供的INSTALL
文档,以获得有关此操作的完整说明。
我将Lua嵌入到我的项目中,这是我的首选方式,IMO:将Lua编译为静态库。
在Lua.c和Luac.c中注释两个main()块,然后点击build并再次运行。
- QML:修改在不同QML文件(而非main.QML)中定义的子对象的属性
- File.cpp.o:OpenPose 标志 CMakeFiles/.. 的多重定义/main.cpp.o:首先在这里定
- C++:main() 未捕获的异常的自定义格式
- C++/生成文件错误:未定义对"main"的引用
- 在命名空间中声明变量,在 main 中定义它,使其对所有其他文件可见
- 可视化 如何修复 c++ 中已经定义的 -main?
- 在 Linux 上编译 - 在函数 '_start' 中:(.text+0x20):对 'main' 的未定义引用
- C++错误:在类中取消对main的定义引用
- crt1.o:在函数"_start"中:(.text+0x20):对"main"的未定义引用
- Main.Obj中已经定义的主要
- main.cpp:(.text+0x8ea):在C++中未定义的引用
- 实用程序函数不会在 .h 文件中初始化并在 main 中定义.cpp
- C :使用Main中定义的对象方法的函数
- 已在main.obj中定义了双精度
- C++ 编译错误:- 使用Makefile对"main"进行多重定义
- C++编译错误:多个定义"main",但项目中只有一个 main 函数
- 你能定义 main() 来接受不仅仅是 argc/argv 参数吗?
- 谷歌基准自定义main
- 实现自定义Main函数
- 在类中定义main函数