【问题标题】:C++ Compilation error:- multiple definition of `main' using Makefile [closed]C++ 编译错误:- 使用 Makefile 对“main”的多个定义 [关闭]
【发布时间】:2018-04-23 15:32:01
【问题描述】:

我有三个带有 Trigger.cppTrigger.hcorchainf.cpp 的文件,其中 corchainf.cpp 具有 main() 功能。现在,当我使用 make 命令编译这些时,我收到以下错误:-

corchainf.o: In function `main':
corchainf.cpp:(.text+0x40): multiple definition of `main'


corchainf.o:corchainf.cpp:(.text+0x40): first defined here

collect2: ld returned 1 exit status

make: *** [corchainf] Error 1

我怀疑错误出现在 Makefile 中,因为我检查了其他所有内容,所以这是 makefile makefile image 1 makefile image 2

谁能建议 makefile 中的 main() 函数在 corchainf.cpp 中的位置;被多次调用??

编辑:- 得到问题的解决方案。在 makefile 中,具有 main 功能的 corchainf.cpp 被 $(MAINO) 和 $(OBJS) 调用了两次 bieng;所以删除了 $(MAINO) 和 VOILA !!!有效。谢谢大家的回答。

【问题讨论】:

  • 显示代码!不显示图片。
  • 解决问题所需的所有信息都应包含在问题本身中。此外,到目前为止,展示您的进步/尝试被认为是一种很好的风格。除此之外,欢迎堆栈溢出。
  • 它表示 main 的多个定义。所以检查你的 corchainf.cpp 文件,你有多个 main 定义。
  • 感谢您的回答。是的,我发现了问题所在。我也不知道;我无法粘贴代码。如果我想复制整个代码并使用“代码”选项将其粘贴到此处;它仅将第一行粘贴为代码,然后将所有其他行粘贴为纯文本;这就是为什么使用图像。很抱歉给您带来不便。

标签: c++ makefile


【解决方案1】:

您的$(MAIN) 配方中似乎包含两次corchainf.o。一次在$(OBJS),一次在$(MAINO)

正如评论者所提到的,请将代码粘贴到问题中。不要链接图片。

【讨论】:

  • @VAIBHAV 粘贴代码时,确保每行缩进四个空格。这样整个东西的格式就会正确。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-13
  • 2017-05-20
  • 2015-04-16
相关资源
最近更新 更多