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

Compile-time error corresponding to main function in C++

本文关键字:编译时错误 函数 C++      更新时间:2023-10-16

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

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 个退出状态

链接

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

查看示例代码,有一条注释说:

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

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

其中 = # 尺寸, = 相对公差,
对于三个测试积分为 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