gpt4 book ai didi

c++ - 链接器错误 : _main already defined in *. obj

转载 作者:太空狗 更新时间:2023-10-29 21:38:54 30 4
gpt4 key购买 nike

以下代码结构:

数组堆栈.h

#ifndef ARRAY_STACK_H
#define ARRAY_STACK_H
#include "Array.h"
// class ArrayStack
#endif

数组堆栈.cpp

#include "ArrayStack.h"
// ArrayStack's methods

数组.h

#ifndef ARRAY_HEADER
#define ARRAY_HEADER
#include <iostream>
// class Array
#endif

数组.cpp

#include "Array.h"
// Array's methods

main.cpp

#include "ArrayStack.h"
int main() {
return 0;
}

产生这些错误:

LNK1169 one or more multiply defined symbols found

LNK2005 _main already defined in Array.obj

这里有什么问题?请注意,Array.cpp 在包含在该项目是第一次,但不再有它(ArrayStack.cpp 也没有)。此外,当省略 main.cpp 中的 int main() 时,代码编译得很好...

最佳答案

该错误信息表示在所有编译后的代码中,*.obj 文件中,链接器找到了多个main() 函数。一个显然在 main.cpp 中。

如评论中所述,想到的第一个解决方案是通过某种方式删除 *.obj 文件(强制)重新编译。

如果这没有改变任何东西,请尝试从头开始单独重建您的解决方案。从没有包含的 main.cpp 开始。然后在您确信不会出错的地方连续添加文件。也许在某些情况下你必须注释掉一些行才能使编译成为可能。

关于c++ - 链接器错误 : _main already defined in *. obj,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34082336/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com