在gcc中是否可以将多个模块组合成一个模块?

在gcc中是否可以将多个模块组合成一个模块?,gcc,module,Gcc,Module,假设我有a.o和b.o,我想把它们组合成c.o 在makefilw中,我写道: gcc a.o b.o -o c.o 但我得到了一个错误: undefined reference to `main' 为什么会发生这种情况?正确的解决方案是什么?我相信您正在尝试创建一个(静态)库或存档。例如,在shell中查看或尝试键入man-ar)很抱歉,我忘了设置布局您的方法看起来是正确的,但是您必须将-nostartfiles-nodefaultlibs标志添加到链接器中。

假设我有
a.o
b.o
,我想把它们组合成
c.o

在makefilw中,我写道:

gcc a.o b.o -o c.o
但我得到了一个错误:

undefined reference to `main'

为什么会发生这种情况?正确的解决方案是什么?

我相信您正在尝试创建一个(静态)库或存档。例如,在shell中查看或尝试键入
man-ar

很抱歉,我忘了设置布局您的方法看起来是正确的,但是您必须将
-nostartfiles-nodefaultlibs
标志添加到链接器中。