当我试图使用CPPUTest测试我的库时,我遇到了问题。
一切都很好,直到我包括了特征库来处理矩阵处理。当我尝试用g++构建时,艾根库一直抛出错误:
如果特征或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
发布于 2016-12-29 22:10:47
CppUTest似乎定义了一个宏new:https://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宏的原因。
https://stackoverflow.com/questions/41358317
复制相似问题