如何使用 ARM 的 IAR 编译器编译 Google Test

Posted

技术标签:

【中文标题】如何使用 ARM 的 IAR 编译器编译 Google Test【英文标题】:How to compile Google Test using IAR compiler for ARM 【发布时间】:2016-03-19 10:13:11 【问题描述】:

我正在尝试使用适用于 ARM 的 IAR 编译器来编译 Google 测试框架,但我遇到了与缺少 pthread 等系统库相关的困难。

有没有人能够使用 ARM 的 IAR 编译器编译 Google 框架?

【问题讨论】:

【参考方案1】:

过去几天我一直在尝试让 GoogleTest 工作,以便我可以使用模拟器在 IAR 中对我们的 ARM 微控制器执行单元测试,但我已经放弃了。正如您所说,我遇到了 IAR 工具链中不可用的线程和库等问题。

相反,我们决定继续使用另一个我们迄今已成功使用的名为CppUTest 的框架。它还提供了一个我们已经能够使用的模拟框架。 CppUTest 还可以使用 GoogleMock 模拟框架(我还没有尝试过)。

我们已经证明我们能够使用 GCC 和 IAR 来使用 CppUTest,这使我们能够使用 GCC 提供的 GCOV 功能,然后切换到 IAR 编译器来验证代码是否可以为我们的目标编译。

我找到了一本很好的参考书:Test Driven Development for Embedded C by James W. Grenning。它同时使用 CppUTest 和 Unity 作为其单元测试框架示例。

可能还有很多其他框架也可以正常工作,我们选择了 CppUTest,因为书中有示例,它可以满足我们目前所需的一切。

我知道这不是您要找的答案,但希望对您有所帮助!

【讨论】:

以上是关于如何使用 ARM 的 IAR 编译器编译 Google Test的主要内容,如果未能解决你的问题,请参考以下文章

ARM 编译工具keil 和 IAR 命令行编译和下载

IAR for ARM编译器使用技巧之一

这是IAR的Dmp程序,我移到keil后出现这么多错误,解决不了,在iar是可以编译成功的

ARM交叉编译工具链分类说明

ARM Cortex-M 编译器差异

通过Visual C ++编译器识别ARM软件中断(SWI)函数