2012-05-04 33 views
0

我已經將libstdC++添加到鏈接器選項中,但我一直收到一個「未定義參考」,我想在C中使用所有C++函數。如何在Eclipse中爲C編寫C++包裝器?

我認爲問題在於所編譯的文件未使用g ++,但是我如何在Eclipse中定義這個規則?

+6

你想從C代碼中調用C++函數嗎? – ildjarn

+0

是的:)我可以讓它使用基本的編譯器命令工作,但我希望它在Eclipse中工作。 –

+0

要做到這一點的唯一方法是用C++編譯器編譯代碼,並將其他代碼寫入C++子集中。沒有C編譯器可以處理模板。 – pmr

回答

0

使用g ++進行編譯的一種方法是在項目資源管理器中選擇C文件,選擇C/C++ build,Settings,然後在命令字段中輸入g ++。有可能是一些清潔的方式,但它應該工作...

1

爲了使C++函數從C++調用的,你必須 - 在最低限度 - 使用 「外部C {}」:

您不能從C程序調用任何C++構造(如新建,刪除,任何類或任何模板) - 您的C模塊不會編譯和/或不會鏈接。

應該能夠編譯合法的C模塊,其後綴爲.c後綴爲Eclipse和/或g ++命令行。