2011-12-21 48 views
1

我一直在使用Ubuntu 10.10作爲我的開發PC很長一段時間。我的代碼是用g ++版本4.4.5編譯沒有錯誤。最近我已經升級我的系統,以11.10已配備了G ++版本4.6.1 現在,使用該編譯器,當我試圖建立同一段代碼,我收到此錯誤:g ++:error:無法識別的選項'--end-group'

g++: error: unrecognized option ‘--end-group’ 

的製作文件行,其中引發此錯誤是:

$(TARGET): $(OBJS) 
g++ $(LDFLAGS) $^ $ -Wl,--start-group $(ARCHIVE_LIBS) --end-group -o $(TARGET) 
cp -f $(TARGET) ../../../bin/ 

可以請一些扔在這一些輕?我曾經搜索過,但我沒有得到任何線索?

感謝和問候, Souvik

回答

7

--end-group是一個連接標誌,所以你應該-Wl它的前綴,即

g++ $(LDFLAGS) $^ $ -Wl,--start-group $(ARCHIVE_LIBS) -Wl,--end-group -o $(TARGET) 

我不知道爲什麼這個工作之前。

+1

https://gcc.gnu.org/gcc-4.6/changes.html(Point No.2) GCC 4.6 changelog解釋。它已成爲STRICTER :-) – smRaj 2014-07-11 12:38:54

+0

@smRaj:這非常合理,並感謝您真正學習Changelog。 – 2014-07-11 13:45:55