2011-04-09 142 views
4

我只是不明白为什么不时我得到这个错误消息编译C文件神秘的错误

C:\Users\Owner\Desktop\Tubes TBO>g++ -o main T-08-13509098-mmesinkata1.c T-08-13509098-mesinkata1.c mesinkar1.c: multiple definisi dari `♦' 
C:\Users\Owner\AppData\Local\Temp\cc21kt92.o:T-08-13509098-mmesinkata1.c:(.bss+0x0): pertama didefinisikan disini: multiple definisi dari `♦' 
C:\Users\Owner\AppData\Local\Temp\cc21kt92.o:T-08-13509098-mmesinkata1.c:(.bss+0x20): pertama didefinisikan disini collect2: ld returned 1 exit status 

对不起的时候,但我的编译器是在印尼,所以基本上上面的错误消息表明,在文件T-08-13509098-mmesinkata1.c中存在多个“♦”定义,当我在该文件中搜索那个奇怪的符号时,它在任何地方都找不到......并且编译器没有说任何东西关于线路,它发现奇怪的符号

请...任何人都可以帮我解决这个错误?这是很无奈的原因一个星期前,我可以编译它得很好,但今天上午未能虽然我没有因为上周的文件中的任何改变...... 谢谢....

+1

由于您正在运行印尼编译器,可能是字符编码问题?你有没有使用任何特殊字符?即使它不一定看起来像那个钻石角色。 – invalidsyntax 2011-04-09 04:16:27

+0

即使名称是理智的,它也不会告诉你错误在哪条线上。这是一个链接错误,所以它不会与代码中的任何特定位置关联。 – julkiewicz 2011-04-09 04:54:01

+1

'g ++'不是一个C编译器,所以基本上你就是将C文件编译为C++。如果你这样做会发生任何事情。 – 2011-04-09 06:26:21

回答

3

对于发生错误时处理.bss段,检查全局变量的定义。另外,请确保您的代码不包含评论以外的非ASCII字符。