首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >代码块和CppUTest,未定义的引用

代码块和CppUTest,未定义的引用
EN

Stack Overflow用户
提问于 2015-12-01 21:45:10
回答 1查看 702关注 0票数 0

我正在尝试使用CodeBlocks和CppUTest编译下面的测试应用程序,但是无论我做什么,我总是得到undefined reference错误。我用cygwin编译了CppUTest,在代码块中我使用MinGW。

项目目录只有两个文件,main.cpptests.cpp,我正在尝试编译这个文件。

这是main.cpp文件:

代码语言:javascript
复制
#include "CppUTest/CommandLineTestRunner.h"
int main(int ac, char** av)
{
   return CommandLineTestRunner::RunAllTests(ac, av);
}

这是tests.cpp文件:

代码语言:javascript
复制
#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.alibCppUTestExt.a,现在我必须将它们链接到项目。为此,我尝试了以下几点:

  • 在生成选项中,添加<CppUTest>\include\以搜索编译器的目录。
  • 在生成选项中,添加<CppUTest>\lib\以搜索链接器的目录。
  • 在链接设置中,将libCppUTest.alibCppUTestExt.a添加到链接库中。也尝试了这些库的完整路径。

我认为问题不在于代码块,因为我已经尝试了所有我找到的链接库的指南,并且我总是得到undefined reference。我也尝试将这些添加为全局设置,但我得到了相同的错误,undefined reference

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2015-12-01 22:28:31

正如@Sreekar所指出的,问题是我在代码块中使用了MinGW,并且库是用cygwin编译的。将编译器更改为Codeblocks中的cygwin为我解决了这个问题。

这描述了在需要时在代码块中将编译器更改为cygwin的过程:

https://www.youtube.com/watch?v=oVmd0P85D8o

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34030788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档