【发布时间】:2021-11-01 16:07:11
【问题描述】:
我已启动并运行 gtest,并确认它适用于两个测试项目。
现在我尝试将我为 ATXMEGA128d4 编写的项目中的一部分包括在内。 如果我通过以下方式将我的代码包含在我的 gtest_test 文件中:
extern "C" {
#include "C:\User\my_workspace\active_development\uC_Project\myCode.h"
}
尝试构建测试代码时出现错误:错误是:
C:\User\my_workspace\active_development\uC_Project\Hardware.h(23):
fatal error C1083: File (Include) cannot be opened: "avr/io.h": No such file or directory
Target //:uC_Project_test failed to build
因此,任何包含“avr/io.h”标头的包含文件都会导致问题,因为 gtest 无法找到“io.h”,这实际上是有道理的,因为 io.h 并不真正存在。
由于该项目是使用 Microchip Studio 开发的,因此您应该使用:
#include <avr/io.h>
这会告诉项目 IO 引脚和其他设备特定的详细信息。
由于 IDE 知道它的 ATXMEGA128d4,IDE 知道所需的 io.h 文件是“iox128d4.h”,它位于 Microchip Studio 的路径中,并以某种方式与项目通信,我的猜测是通过 make 文件。
我尝试将所有
我现在的问题是:
如何在不更改原始项目的情况下让 gtest 知道要使用哪些包含文件。如果我能以某种方式告诉项目使用“iox128d4”而不是
任何帮助或提示将不胜感激。
【问题讨论】:
标签: c++ c makefile microcontroller googletest