2010-05-13 66 views
0

雖然語法是正確的,但是下面的錯誤會導致什麼原因?我已經包含了coreservices框架,其中聲明瞭一些數據類型和常量。c api的編譯錯誤

" c.c:22: error: syntax error before ‘CFFileDescriptorRef’

c.c:22: warning: no semicolon at end of struct or union

c.c:24: error: syntax error before ‘}’ token

c.c:24: warning: data definition has no type or storage class

lipo: can't figure out the architecture type of: /var/folders/fF/fFgga6+-E48RL+iXKLFmAE+++TI/-Tmp-//ccFzQIAj.out "

+2

我猜你在struct或union的末尾沒有分號,而且數據定義沒有類型或存儲類。 – GManNickG 2010-05-13 05:38:43

+1

一些重現問題的示例代碼可能非常有用。 – 2010-05-13 05:56:10

+0

也是C框架嗎?從名稱CFFileDescriptorRef中,人們會猜測它會是某種類。 – 2010-05-13 05:56:58

回答

1
c.c:22: error: syntax error before ‘CFFileDescriptorRef’ 

...通常意味着您使用的是不限定的類型(例如你忘記#include任何標頭再使用它之前定義)。

以下代碼:

foo_t FooBar; 

再現誤差,當然,除非foo_t的鍵入之前,使用它的地方。

或者,它可能是你髮指手畫腳的東西:)沒有看到代碼很難說。