我一直在使用ubuntu 10.10作为我的开发PC。我的代码是使用g ++版本4.4.5构建时没有错误。最近我将系统升级到11.10,它带有g ++版本4.6.1 现在,使用这个编译器,当我尝试构建相同的代码时,我收到此错误:
g++: error: unrecognized option ‘--end-group’
Make文件行,抛出此错误的地方是:
$(TARGET): $(OBJS)
g++ $(LDFLAGS) $^ $ -Wl,--start-group $(ARCHIVE_LIBS) --end-group -o $(TARGET)
cp -f $(TARGET) ../../../bin/
有人可以对此有所了解吗?我用谷歌搜索了但我没有得到任何线索?
谢谢和问候, Souvik
答案 0 :(得分:7)
--end-group
是一个链接器标志,因此您应该在其前面添加-Wl
,即
g++ $(LDFLAGS) $^ $ -Wl,--start-group $(ARCHIVE_LIBS) -Wl,--end-group -o $(TARGET)
我不确定为什么之前有效。