除了MCU(STM32F1)固件外,我几乎在项目的所有部分都使用了谷歌测试。现在我想直接在MCU上使用它进行测试,以确保我没有产生任何依赖于机器的错误,这些错误可能在x64上通过测试,但在MCU上失败。谷歌测试需要libpthread,这显然不存在于MCU上。我使用了复杂的gcc 5.2.1工具链,所以它的g++
应该能够构建谷歌测试。系统调用也被正确定义,所以测试输出应该被成功编译并打印到串行控制台。
有可能在谷歌测试中禁用libpthread并为裸金属微控制器构建它吗?有人有这样使用单元测试的经验吗?
来自gtest的文档:
Linux要求
以下是从源程序包(如下所述):
GNU-compatible Make or gmake POSIX-standard shell POSIX(-2) Regular Expressions (regex.h) A C++98-standard-compliant compiler
pthread
对于生成gtest不是强制性的。您可以在构建gtest时通过-DGTEST_HAS_PTHREAD=0
禁用它。
因此,请检查您的环境,看看它是否符合要求(尤其是对于regex.h
)。