CxxTest 编译,缺少 main

CxxTest compiling, missing main

我正在使用 CxxTest 进行单元测试。我跟着文档。

我执行的第一个命令是:

cxxtestgen --error-printer -o runner.cpp MyTestSuite1.h

命令的输出是 runner.cpp 文件。

根据文档,下一个命令应该是:

g++ -o runner -I(location_of_the_cxxTest_headers) runner.cpp

但我无法执行它,我收到有关缺少入口点的错误消息。换句话说,runner.cpp 缺少 main.

CxxTest 中包含的测试文件也会发生同样的事情。

我是运行Windows8.1.

我的问题被标记为重复,但我在另一个问题中没有找到解决方案。我不是在构建 GUI 应用程序。问题是关于 CxxTest 的,它是如何在没有 main() 函数的情况下启动的?切入点在哪里?

我在查看用于生成 runner.cpp 的 python 脚本 cxxtestgen.py 后找到了解决方案。在 writeMain(output) 函数的开头有一个 if 语句,它在输出文件中写入 main 函数:

if not (options.gui or options.runner):
       return

从测试套件生成输出文件时,至少需要 --runner=CLASS--gui=CLASS 这两个选项之一。添加一个选项后一切正常。