Duplicate symbol_main
Duplicate symbol_main
我一直在寻找这个问题的解决方案,但它们对我不起作用!我在编译程序时遇到了很多问题。当我尝试在 Xcode 中执行程序时出现:
/Users/LauraChaparro/Library/Developer/Xcode/DerivedData/Busqueda-ercduihvfosqcoczkrgljkkmgxam/Build/Intermediates/Busqueda.build/Debug/Busqueda.build/Objects-normal/x86_64/Uno.o 中的重复符号_main和/Users/LauraChaparro/Library/Developer/Xcode/DerivedData/Busqueda-ercduihvfosqcoczkrgljkkmgxam/Build/Intermediates/Busqueda.build/Debug/Busqueda.build/Objects-normal/x86_64/main.o for architecture x86_64
我不明白为什么会这样!是一个C++项目...或者,如果您可以向我推荐另一个IDE,我将不胜感激!
看起来您正在用于制作Uno.o
对象文件的某些代码中定义main
。您只能有一个main
,因此用于构建库的对象不应定义main
。这应该只在应用程序本身中定义。
这是一个链接器错误,您可能会在其他 IDE 中遇到它。您需要找到定义main
Uno.o
的位置并将其删除。
您遇到的错误是链接器错误。它确切地告诉你出了什么问题。链接器发现它可以在浏览对象文件时多次找到定义的符号 *_main*。这使得链接器无法创建目标文件的可执行文件,因为它无法判断要使用的符号。它继续告诉你它在哪里找到这两个符号。
一旦进入 Uno.o 文件(我假设它来自编译 Uno.cpp 文件(另一个来自 main.o 文件(来自 main.cpp 文件(
这意味着,链接器可以以某种方式在两个文件中找到 main 方法的符号。
这可能通过以下方式发生:
- 在 Uno.cpp 和 main 中定义一个主函数.cpp
- 在标头中放置了一个非内联主定义,并将其包含在 Uno.cpp 文件和 main.cpp 文件中(或包含另一个包含等的包含(。
当您请求另一个 IDE 时,我想提醒您,编译器错误或链接器错误都不是 IDE 中的错误,在绝大多数情况下,问题是 IDE 的用户做错了什么。
这曾经发生在我身上,确保在你不希望你的主函数的文件中包含你的 .h 文件而不是你的 .c 文件。我的包含语句具有.c文件,它产生了相同的问题。
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- 代码在main()中运行,但在函数中出现错误
- 当我在main中声明了我的2d数组时,为什么我的程序会退出
- QML:修改在不同QML文件(而非main.QML)中定义的子对象的属性
- 不确定要在我的main中放入什么才能使我的代码正常工作
- 函数是否可以访问传递给main()的参数
- 在main()之外初始化std::vector会导致性能下降(多线程)
- 使用JsonCpp将数据返回到带有pybind11的python会在python调用中产生Symbol not foun
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- 我的 int main() 中出现堆栈溢出错误
- CppSQLite 抛出"LNK2019: unresolved external symbol"错误
- C++变量名(可以将 main 声明为变量,但对于其他函数名称则不然)
- 当我尝试在 Main 中调用插入函数时,它不是取数字?
- File.cpp.o:OpenPose 标志 CMakeFiles/.. 的多重定义/main.cpp.o:首先在这里定
- 为什么类和 main() 函数中也有动态内存分配
- 在 main.cpp 的上下文中找不到目录(带有 CMake 的快板)
- 从不同目录执行时"symbol lookup error:",否则从构建目录执行时按预期工作
- 我想在 Main 中用 C++ 调用其他类中的一个类,但我做不到
- "main"函数堆栈中的对象在第一个任务运行时被覆盖 (FreeRTOS)
- 线程"main" java.lang.UnsatisfiedLinkError: undefined symbol: test