编译时未定义的'main'引用

时间:2012-08-20 21:43:31

标签: c++ linux makefile

可能重复thisthis,但即使在尝试挖掘答案一段时间后,我也无法解决此问题。

尝试编译以下makefile时,

all:  test

    test:  constants.h Point.h Point.cpp line_t.h line_t.cpp drawing_t.h drawing_t.cpp clipper_t.h clipper_t.cpp main.cpp
        g++ -o test Point.cpp line_t.cpp drawing_t.cpp clipper_t.cpp main.cpp -lglut

我收到错误:

  

g ++ -o test Point.cpp line_t.cpp drawing_t.cpp clipper_t.cpp main.cpp   -lglut /usr/lib/gcc/i686-linux-gnu/4.6/../../../i386-linux-gnu/crt1.o:在函数_start': (.text+0x18): undefined reference to main'中   collect2:ld返回1退出状态make:*** [test]错误1

我是Makefile的新手。我想,我错过了一些太明显的东西。

1 个答案:

答案 0 :(得分:5)

显然,你的文件都没有定义带签名的函数

int main();

int main(int argc, char *argv[]);