与C ++中的main函数对应的编译时错误

时间:2015-01-30 03:17:48

标签: c++ compiler-errors linker-errors

这是我的编译命令,后面是我收到的错误消息。 您还可以附上您可以看到代码的链接。

g++ -Wall `root-config --cflags --ldflags --libs` StevenJohnsonDoubleIntegration.cpp

/usr/lib/gcc/i686-redhat-linux/4.9.2/../../../crt1.o: In function `_start':(.text+0x18): undefined reference to `main'

collect2:错误:ld返回1退出状态

Link

1 个答案:

答案 0 :(得分:2)

错误对主的未定义引用意味着在链接时,没有main()函数。

查看示例代码,有一条评论说:

  

使用-DTEST_INTEGRATOR编译以生成此小测试    程序。   

Usage: ./integrator <dim> <tol> <integrand> <maxeval>
     

其中=#dimensions,=相对容差,
    对于三个测试集成,是0/1/2(见下文),    并且是#函数评估的最大值(0表示无)。

查看代码,除非定义了此符号,否则main函数将从构建中排除。

因此,将-DTEST_INTEGRATOR添加到命令行进行编译。您可能还希望-o integrator使输出名为integrator,而不是a.out

g++ -DTEST_INTEGRATOR -Wall `root-config --cflags --ldflags --libs` StevenJohnsonDoubleIntegration.cpp -o integrator