编译代码时,我在控制台中编写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/

10-12 05:54
查看更多