2010-05-26 68 views
1

我需要在我的C++代碼中包含幾個c頭文件(非標準頭文件)以供gcc編譯。 C頭(foo.h中)具有用於支持:在C++中包含非標準C頭文件

#ifdef __cplusplus 
extern "C" { 
#endif 

並且類似地在端部爲}。 C++代碼包含「foo.h」 我相信我應該能夠包含頭文件(foo.h)並創建在.h文件中定義的結構實例。

我無法編譯源代碼。看起來編譯器將c代碼看作是C++代碼。我看到錯誤如

error: expected constructor, destructor or type conversion before "("

我做錯了什麼?我採取了建議從: http://www.parashift.com/c++-faq-lite/mixing-c-and-cpp.html

我還需要做什麼,告訴c + +編譯器「期望和編譯爲c代碼」?

+0

粘貼代碼時,選擇它並按二進制數字按鈕。這將縮進行並生成格式化的代碼。請考慮添加更多關於您包含哪些標頭的信息,錯誤消息中的確切錯誤(錯誤消息中的')'之前的內容) – 2010-05-26 14:19:50

+4

歡迎來到SO!你需要展示更多,因爲通常那些衛兵是足夠的。顯示它正在抱怨的行號,也許會得到一個較小的.cpp文件來顯示問題。 – 2010-05-26 14:20:43

+2

您正在使用的C頭可能會用作C++關鍵字的標識符,該關鍵字不是C中的關鍵字。但是如果作者放入'extern「C」塊,他可能足夠聰明以避免這種情況。這個問題需要顯示更多相關的代碼,否則你會得到的只是猜測。 – 2010-05-26 14:23:43

回答

1

感謝您的回覆!

我的問題是我沒有包含所有需要的頭文件/以正確的順序。 我全部設置。