5

我有一个 Eclipse 项目。所有测试用例都在一个 *.cpp 文件中。问题是这样我最终得到了两个 main() 函数。一个用于应用程序本身,一个用于测试用例。当然,Eclipse 拒绝构建......我想将所有东西放在一个项目下(并避免拥有多个配置、SVN 存储库等)。理想情况下,我想强制 Eclipse 构建两个可执行文件(一个用于应用程序,一个用于测试用例)。我快速浏览了 Eclipse Makefile,但老实说,我不太明白它是如何工作的。总是可以排除 Main.cpp/Testcases.cpp 并构建一个可执行文件,但它不是很优雅......

有类似经历的人吗?

4

2 回答 2

7

我偶然发现了这个非常有帮助的链接:http: //pezad-games.googlecode.com/svn/trunk/GTestTest/HOWTO

作者正在描述如何在 eclipse 中使用一个项目设置 gtest,同时拥有两个带有main()方法的源文件:一个位于名为“src”的目录中,另一个位于名为“test”的目录中。

因此,他引入了一个名为“GTEST”的新配置(除 DEBUG/RELEASE 之外) - 在此配置中,所有链接器/头文件都设置为gtest,并且还排除了 src/[main].cpp:

main.cpp 的属性 >> C/C++ 构建 >> 设置:从构建中排除资源

另一方面,DEBUG & RELEASE 配置排除了 test/[main_test].cpp。

于 2012-10-05T11:59:19.337 回答
2

除了 libgtest 之外,您还链接 libgtest_main 吗?如果你不链接 libgtest_main 你应该很好。

如果您想使用 Eclipse CDT 创建两个可执行文件,最简单的方法是让每个可执行文件都有一个单独的项目。如果您有通用代码,您可以让一个项目引用另一个项目。

于 2011-02-23T19:37:57.743 回答