【发布时间】:2018-03-26 13:54:34
【问题描述】:
我被要求为一些在 IAR Embedded Workbench v3.3 中写回的软件制作一个小模组
我已将原始源文件从一台旧机器复制到我为该任务分配的一个。
目前我只是想编译软件。我花了一段时间才意识到,或者至少我以为我已经意识到,它无法打开各种头文件的原因是,令人难以置信的是,所有包含路径都是绝对的,而不是相对的。
因此,我将所有路径更改为 $PROJ_DIR$ 相对路径,但随后开始获取无法打开的不同文件。然后意识到他们给我的机器恰好与原来使用的机器有一个非常相似的目录结构,而且令人惊讶的是,我正在使用的这台机器的目录结构中有很多相同的文件,就像在机器上一样最初用于编译代码。
然后我想,好的,我将通过选择它抱怨的头文件之一来检查我的相对路径是否正确,并在预处理器选项卡中放置此目录的绝对路径我正在使用的机器包含它想要的头文件。但是,还是找不到头文件!
最后,我在c文件中放了一个绝对路径,指向想要的头文件。
#include "C:\absolute__Path\stdtyp.h"
然后编译。
确认:
把C:\absolute__Path
在项目中 |选项 | C/C++ 编译器 |如果我有,预处理器选项卡将不起作用:
#include "stdtyp.h"
在 c 文件中。
我过去使用过 IAR - 不是很多 - 但我已经 使用过它,我确信这就是你设置包含目录的地方。那么,我错了吗,或者如上所述,预处理器选项卡中是否还有其他东西覆盖了该路径?
编辑:我没看错,在睡了之后,我决定创建一个带有随机目录、子目录和头文件的新项目。果然,如果我在预处理器选项卡中设置和删除 $PROJ_DIR$ 引用的路径,新项目会编译,然后不会。所以,一定有什么东西,大概是在 ewp 文件中。
【问题讨论】:
-
如果您找到了解决方案,请将其作为答案发布,然后选择该答案。这样就更容易看出这个问题已经解决了。
-
好的,会的。发布我自己的问题的答案似乎有点奇怪!
标签: iar