我們在「c」中有很好的代碼庫。現在,我們正在向所有新模塊遷移到C++。我有一個案例在舊的C代碼庫中使用幾個C++類。個別地,兩種工作即C++模塊和c模塊單獨工作並給出所需的o \ p。MakeFile.am:混合c和C++,新錯誤
當我將它們混合在一起,即在A.c中調用C++類時,它會拋出大量與舊代碼有關的錯誤。
在我們的makefile.am中,我們之前曾經有過一個選項cc = gcc,現在我們在它拋出了一些錯誤之後將它改爲cc = g ++。最後make makefile.am創建一個lib,讓我們說libx.a. makefile.am包含各種較早的源文件,即A.c,x.c,y.c ....
我修復了最初在A.c,x.c下的錯誤,假設它們是用新的g ++編譯器。現在,它開始在x.c下拋出錯誤,就像這樣我們有各種源文件。
它修復所有這些問題非常繁瑣。我相信iam錯過了一些與這些錯誤相關的編譯器標誌選項。現在,大多數這些錯誤都是類型錯誤,我使用static_cast轉換它們。除此之外,很少有其他錯誤。但是,代碼是c中的一個工作代碼,它只是混合和變化的makefile會拋出這些錯誤。
問: 1.如何擺脫這些錯誤? 2.是否有任何我需要使用的編譯器標誌以最小的努力繼續工作? 3.這些過程中有沒有iam做錯的事情? 4.你有什麼改變makefile.am,你有人建議?
對此的任何幫助表示讚賞。如果Q不清楚,請告訴我。
注意:我們使用autoreconf,configure和make來運行我們的應用程序。
問候, Santhosh
正在打印的錯誤是什麼?另外,從我的個人經驗來看,g ++應該沒有編譯C代碼的實際問題,所以知道這些錯誤會有很大幫助。 – sean 2012-07-08 07:48:40
您不應該在Makefile.am中分配'CC'或'CXX'。這些是用戶定義的變量,應在配置運行時分配。 – 2012-07-19 14:47:28