2011-04-09 180 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字符。