2015-11-05 44 views
0

我有一個C++項目,我需要使用一些外部C源代碼。 我需要使用與項目使用相同的工具編譯它們:GCC C++編譯器。我的Visual Studio有一個設置來爲每個C源代碼設置:C/C++ - >高級 - >編譯爲C++代碼(/ TP)。Eclipse CDT:如何在C源程序上使用GCC C++編譯器?

我可以使用Eclipse CDT來做到這一點嗎?

+0

是的,只需在構建項目屬性中創建C++項目或設置g ++編譯器 – clsbartek

+0

由於C不是C++的子集,所以一般不能用C++編譯器編譯C代碼。例如,'int * p = malloc(sizeof * p);'是合法的C,但不是C++。 –

+0

@BaummitAugen我認爲你錯了。您可以在C++中使用malloc或任何其他c函數,並使用g ++進行編譯。 – clsbartek

回答

2

在項目選擇:

  1. 你可以添加-x c++到編譯器標誌:

    enter image description here

  2. 或者設置工具,以G ++而不是GCC

    enter image description here

+0

非常感謝這兩個解決方案。在提到的C代碼中也有可能擺脫這種錯誤? '#if UNIX_PLATFORM &&!defined(__ cplusplus) #error該文件需要在Unix上編譯爲C++ #endif' < - 這仍然給我一個'__cplusplus未定義的錯誤' – cristian

+0

檢查https:// www .livecoding.tv/sehe/ – sehe

+0

正如您在我的實時流中看到的,#error不會以'-x C++'觸發。它沒有。祝你好運 – sehe

相關問題