首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >艾根和CPPUTest?

艾根和CPPUTest?
EN

Stack Overflow用户
提问于 2016-12-28 08:41:55
回答 1查看 315关注 0票数 2

当我试图使用CPPUTest测试我的库时,我遇到了问题。

一切都很好,直到我包括了特征库来处理矩阵处理。当我尝试用g++构建时,艾根库一直抛出错误:

  • /本征3/Eigen/src/Core/util/Memory.h:270:41错误:'ptr‘不指定类型
  • /eigen3/Eigen/src/Core/CoreEvaluators.h:1655:12错误:“static_cast”之前的预期类型说明符
  • /eigen3/Eigen/src/Core/PlainOBjectBase.h:137:5错误:将‘新运算符’声明为非函数

如果特征或CPPUTest单独运行,则不输出错误。

我猜这两个库在某种程度上有冲突。

这里真的需要一些帮助。非常感谢。

编辑1: --这是我的Makefile:

CXX = g++ -std=c++0x -lstdc++ CXXFLAGS = -g -Wall -static -fprofile-arcs -ftest-coverage I./ -I$( CPPUTEST_HOME )/include LDFLAGS = -L./ -L$(CPPUTEST_HOME)/lib -lCppUTest -lCppUTestExt -pthread CPPUTEST_HOME= ./cpputest/workspace/install USER_CFLAGS = -I /usr/local/include/engic3 TARGET = SRCS =en20 20# OBJS =$()所有:$(目标)$(目标)):$(OBJS) $(CXX) -o $@ $^ $(CXXFLAGS) $(LDFLAGS) $(OBJS):$(SRCS) $(CXX) -c $(CXXFLAGS) $^ %。o:%.cpp $(CXX) -c $(CXXFLAGS) $< .PHONY:洁净: rm -f $(目标) $(OBJS) *.gcno *.gcov ~ find。-name ".gcda“_ xargs -r r

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-29 22:10:47

CppUTest似乎定义了一个宏newhttps://github.com/cpputest/cpputest/blob/master/include/CppUTest/MemoryLeakDetectorNewMacros.h#L76

当我在#include <Eigen/Core>之前使用#include <CppUTest/TestHarness.h>时,我没有得到您报告的错误(但是没有进一步的测试)。或者,您可以在包含CppUTest之后进行CppUTest,或者在包含CppUTest之前定义CPPUTEST_MEM_LEAK_DETECTION_DISABLED (这当然会禁用泄漏检测)。

本征中的违规行是使用placement运算符(即它不分配内存本身),它的语法是抛出CppUTest的new宏的原因。

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

https://stackoverflow.com/questions/41358317

复制
相关文章

相似问题

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