2013-05-25 167 views
2

我試圖編譯程序與CC編譯器,但在終端運行命令時:Linux的CC編譯錯誤

cc –o sm hw33.c random.c stopwatch.c –lm 

我得到這個錯誤:

cc: error: –o: No such file or directory 
cc: error: sm: No such file or directory 
cc: error: –lm: No such file or directory 

所有文件存在和名稱確實是正確的。

出了什麼問題?謝謝。

回答

13

您帖子中的字符不是-個字符。我複製/粘貼一個並運行它通過hexdump

$ pbpaste | hexdump -vC 
00000000 e2 80 93           |...| 
00000003 

打破那些字節的二進制給出:

11100010 10000000 10010011 

,並通過與16位代碼匹配起來從中提取的Unicode代碼點在this chart點條目:

1110xxxx 10xxxxxx 10xxxxxx 

產量:

0010 000000 010011 ---> 0010 0000 0010 0011 

回到十六進制給出的代碼點0x2013,根據this unicode chart是「EN DASH」。

你是怎麼輸入的?編譯器需要一個ASCII/UTF-8 -(代碼點0x2d,「HYPHEN-MINUS」)來處理它。

+4

[eagleye!](http://stackoverflow.com/a/16754051/297323) –

+0

oops。非常感謝你! – user2421137

+1

謝謝@FredrikPihl,但我只是根據錯誤消息猜到了,碰巧證明是正確的。 –