根据我的理解,由于重复符号而导致的链接器错误意味着:
在尝试从www.ugfx.io编译演示项目时,我遇到了这个错误:
duplicate symbol _main in:
.build/obj/GFXLIB/demos/modules/gdisp/basics/main.o
ld: 1 duplicate symbol for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [.build/demotest.elf] Error 1
与我在网上找到的每个重复符号错误相比,只有一个文件列为此错误的一部分。并且属于该目标文件的源文件只有一个主符号。您可以查看here。
我怎么能理解这个错误?它可能是什么原因?
答案 0 :(得分:0)
当我在编译命令中两次包含相同的源文件时发生了这种情况,例如: :
$gcc -o main main.c becool.c foo.c bar.c becool.c end.c
重复的becool.c
导致重复的符号错误。
因此,如果这是问题所在,请查看您的编译命令并删除此类重复项