- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在尝试使用 CPPUTest 测试我的库时遇到问题。
一切都很好,直到我包含 Eigen 库来处理矩阵处理。当我尝试使用 g++ 构建时,Eigen 库不断抛出错误:
/eigen3/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 错误:将“operator new”声明为非函数
如果 Eigen 或 CPPUTest 单独运行,则不会输出错误。
我的猜测是这两个库在某些时候有冲突。
这里真的需要一些帮助。非常感谢。
编辑 1:这是我的生成文件:
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/eigen3 TARGET = MyLibrary SRCS = MyLibrary.cpp MyLibraryTest.cpp OBJS = $(SRCS:.cpp=.o) all: $(TARGET) $(TARGET): $(OBJS) $(CXX) -o $@ $^ $(CXXFLAGS) $(LDFLAGS) $(OBJS): $(SRCS) $(CXX) -c $(CXXFLAGS) $^ %.o: %.cpp $(CXX) -c $(CXXFLAGS) $<
.PHONY: clean clean: rm -f $(TARGET) $(OBJS) *.gcno *.gcov ~ find . -name ".gcda" | xargs -r r
最佳答案
CppUTest 似乎定义了一个宏 new
: https://github.com/cpputest/cpputest/blob/master/include/CppUTest/MemoryLeakDetectorNewMacros.h#L76
当我 #include <Eigen/Core>
之前 #include <CppUTest/TestHarness.h>
,我没有得到你报告的错误(虽然没有进一步测试)。或者,您可以 #undef new
在包括 CppUTest 或定义 CPPUTEST_MEM_LEAK_DETECTION_DISABLED
之后在包含 CppUTest 之前(这当然会禁用泄漏检测)。
Eigen 中有问题的行使用了 placement-new 运算符(即,它本身不分配内存),它的语法是抛出 CppUTest 的 new
的原因。微距关闭。
关于c++ - CPPUTest 的 Eigen ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41358317/
我正在尝试重写一些遗留的 C 代码,并希望在实际开始重写之前进行一些测试。为此,我查看了 CppUTest 并尝试了一个示例应用程序,该示例应用程序包含一个头文件 chrtostr.h、一个实现文件
我开始将 CppUTest 用于某些 C/C++ 项目。尤其是模拟扩展听起来不错,但我目前正在努力如何以正确的方式设置模拟。假设一个用于抽象网络套接字通信的低级类。 我的第一种方法: size_t C
我是 mac 新手!我下载了 xcode4.2 并尝试构建 CppUTest-v3 1)当我做的时候,我有以下日志 compiling AllTests.cpp compiling Allocatio
我写了语法:mock().expectNoCall("productionCode") 正如 Cpputest.org 页面所说。但是编译器说 mocksupport 类不支持这种类型的顺序。 tes
我将尝试将此作为一个纯粹的最小示例,以尽可能适用于更多人,并保护可能违反 NDA 的任何类型的代码共享。希望一切都好! 我正在使用 CppUTest 和 CppUMock(使用 gcc/g++ 编译并
我开始在一些 C 嵌入式项目中使用 CppUTest。现在我正在处理对系统的模拟调用。在学习了如何传递 C 典型类型之后,例如: 正常工作的示例: 代码的模拟文件部分: uint32_t LL_TIM
有什么方法可以模拟静态全局变量以在测试函数中使用?或者有什么解决方法吗? 下面是这种情况的示例: static zsock_t *publish_logs = NULL; int btak_log_
我有以下方法: QMap DefaultConfig::getConfig() { QMap result; result.insert("Error", LOG_LOCAL0);
我正在学习 TDD 并在 Eclipse 中使用 CppUTest。有什么方法可以调试我的代码出现烦人的段错误。 谢谢 最佳答案 我不知道 CppUTest 或 Eclipse 中有什么特别的东西可以
我在尝试使用 CPPUTest 测试我的库时遇到问题。 一切都很好,直到我包含 Eigen 库来处理矩阵处理。当我尝试使用 g++ 构建时,Eigen 库不断抛出错误: /eigen3/Eigen/s
我在不在目标硬件上运行的情况下对嵌入式 C 代码进行单元测试。这是代码的一部分: uint8 tempReadback = 0; write_to_i2c( msg->addres, msg->val
我在使用 cppunit 测试我的应用程序时收到此错误消息 Allocation/deallocation type mismatch allocated at file: line: 0 size
我在 eclipse-cdt(ubuntu 14.0) 中使用 CppUTest。对于 CppUTest 中 C 函数的继承,我应该这样写: extern "C" { } 是否有任何替代方案可以将所有
我认为这是一个简单的问题...我希望变量 virtualLeds 在测试组 LedDriverTests 中的所有测试之间共享,这是代码: #include "CppUTest/TestHarness
我用CMake做了一个库,然后做了一个测试exe。构建后,我想自动运行我的测试用例。这是我的 CMakeLists.txt。它使 .exe 正常但不运行它。我正在使用 Linux。 cmake_min
我正在尝试使用 mingw-w64 编译 cpputest,但无法使其工作,而且我找不到有关如何执行此操作的任何资源。所以希望这个问题将来能帮助其他人。 我想使用 mingw-w64 编译 cpput
我使用的是 Atmel Studio 6.1.2 SP2。我正在为我们的嵌入式系统项目设置 CppUTest。我为 CppUTest 框架创建了一个静态 CPP 库,在稍作改动后成功编译。现在我将这个
是否有可能,如果可能如何,用测试框架控制下的定义替换某个定义? 例如,假设嵌入式系统使用定义来访问端口,如下所示: #define PORTA_CONFIG (*(volatile unsigned
在Ubuntu下安装了g++ 4.9.0(实验)版本(我正在使用该版本提供的某些功能) 构建代码时,我使用脚本中的 cmake,并且它可以正确构建。下面的gcc包含g++的安装路径(/mnt...)
我正在开始学习嵌入式C的测试驱动开发,并开始阅读《嵌入式C的测试驱动开发》一书,其中他们推荐了两种开发系统测试环境:Unity和CppUTest。 因此,我决定下载两者的代码,并且下载并安装 Cygw
我是一名优秀的程序员,十分优秀!