我正在尝试使用 CodeBlocks 和 CppUTest 编译以下测试应用程序,但是无论我做什么,我总是会得到undefined reference
错误。我用 cygwin 编译了 CppUTest,在我使用 MinGW 的代码块中。
项目目录只有两个文件,main.cpp
我tests.cpp
正在尝试编译它。
这是main.cpp
文件:
#include "CppUTest/CommandLineTestRunner.h"
int main(int ac, char** av)
{
return CommandLineTestRunner::RunAllTests(ac, av);
}
这是tests.cpp
文件:
#include "CppUTest/TestHarness.h"
TEST_GROUP(FirstTestGroup)
{
};
TEST(FirstTestGroup, FirstTest)
{
FAIL("Fail me!");
}
TEST(FirstTestGroup, SecondTest)
{
STRCMP_EQUAL("hello", "world");
LONGS_EQUAL(1, 2);
CHECK(false);
}
我已经有了这些库libCppUTest.a
,libCppUTestExt.a
现在我必须将它们链接到项目。为此,我尝试了以下方法:
- 在构建选项中,添加
<CppUTest>\include\
到编译器的搜索目录。 - 在构建选项中,添加
<CppUTest>\lib\
到链接器的搜索目录。 - 在链接设置中,添加
libCppUTest.a
和libCppUTestExt.a
链接库。还尝试了这些库的完整路径。
我认为问题不在于代码块,因为我已经尝试使用我找到的所有指南来链接库,并且我总是得到undefined reference
. 我也尝试将这些添加为全局设置,但我得到了同样的错误,undefined reference
.
有任何想法吗?