编译代码时,我在控制台中编写gcc -g -Wall dene2 dene2.c
。然后gcc在屏幕上发出一些文本。我不明白这个输出意味着什么(出于这个原因,我想不出一个有意义的标题,对不起)。
我试过谷歌搜索,但没有任何运气。
我不是要求详细检查下面的所有输出告诉我“怎么抓鱼”。
dene2: In function `_start':
/build/buildd/eglibc-2.10.1/csu/../sysdeps/i386/elf/start.S:65: multiple
definition of `_start'
/usr/lib/gcc/i486-linux-gnu/4.4.1/../../../../lib/crt1.o:/build/buildd/eglibc-2.10.1
/csu/../sysdeps/i386/elf/start.S:65: first defined here
dene2:(.rodata+0x0): multiple definition of `_fp_hw'
/usr/lib/gcc/i486-linux-gnu/4.4.1/../../../../lib/crt1.o:(.rodata+0x0): first
defined here
dene2: In function `_fini':
(.fini+0x0): multiple definition of `_fini'
/usr/lib/gcc/i486-linux-gnu/4.4.1/../../../../lib/crti.o:(.fini+0x0): first defined
here
dene2:(.rodata+0x4): multiple definition of `_IO_stdin_used'
/usr/lib/gcc/i486-linux-gnu/4.4.1/../../../../lib/crt1.o:(.rodata.cst4+0x0): first
defined here
dene2: In function `__data_start':
(.data+0x0): multiple definition of `__data_start'
/usr/lib/gcc/i486-linux-gnu/4.4.1/../../../../lib/crt1.o:(.data+0x0): first defined
here
dene2: In function `__data_start':
(.data+0x4): multiple definition of `__dso_handle'
/usr/lib/gcc/i486-linux-gnu/4.4.1/crtbegin.o:(.data+0x0): first defined here
dene2: In function `_init':
(.init+0x0): multiple definition of `_init'
/usr/lib/gcc/i486-linux-gnu/4.4.1/../../../../lib/crti.o:(.init+0x0): first defined
here
/tmp/ccMlGkkV.o: In function `main':
/home/fatih/Desktop/dene2.c:5: multiple definition of `main'
dene2:(.text+0xb4): first defined here
/usr/lib/gcc/i486-linux-gnu/4.4.1/crtend.o:(.dtors+0x0): multiple definition of
`__DTOR_END__'
dene2:(.dtors+0x4): first defined here
collect2: ld returned 1 exit status
最佳答案
我想您可能需要在命令行中使用-o
:
gcc -g -Wall -o dene2 dene2.c
如果没有-o,您所拥有的是试图将
dene2
与编译dene2.c
的结果链接起来dene2
可能是以前的构建尝试遗留在您的目录中的。这就是你看到所有重复符号错误的原因。关于c - 编译时,我写“gcc -g -Wall dene2 dene2.c”,然后gcc发出一些跟踪,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2884186/