将HAL库存入STM32单元测试中

问题描述 投票:0回答:1

为了使单元测试适用于我的STM32项目,我在模拟Hal库。到目前为止,我们已经设法模拟了它并创建了虚拟文件。但是我遇到了一个问题。到目前为止,我们有3个.h文件,一个用于#defines,一个用于函数,另一个是HAL文件的直接副本。该程序似乎已编译,并给我链接错误。

它给出的错误是“的多个定义”,但不是一个错误。大约是200。在hal_stub_functions.h中的所有函数上均给出错误它甚至似乎循环了几次。我们已经检查了所有文件。没有一个包含错误的文件或彼此包含。所有文件都包含If / Def / Endif。这三个文件互不包含。功能文件包含#Defines文件。我不知道从哪里开始寻找这个。尝试了一般的东西,如提到的检查包括。项目设置都是正确的。如果有人有任何帮助或想法,请非常感谢。

编辑:想想我可能发现了一些奇怪的东西。Image here好像Eclipse两次发现每个函数。在同一地点。我该如何解决?

编辑2:我认为一般的问题是链接器以某种方式两次查找文件。

谢谢:)

c++ unit-testing stm32 hal
1个回答
0
投票

解决方案:使所有功能静态。由于包括.h文件的多个文件,它们不断地重新定义功能。甚至使用了#ifdef。 #pragma曾经也没有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.