Build IAR有没有办法在不同的目录中构建同名的源代码?

Build IAR有没有办法在不同的目录中构建同名的源代码?,build,customization,iar,Build,Customization,Iar,我正在做一个关于IAR的项目。该项目将集成第三方中间件源代码目录。该目录具有以下数据结构 middleware | +--- tool1 | | | +--- tool_imp.c | +--- tool2 | | | +--- tool_imp.c | +--- tool3 | | | +--- tool_imp.c

我正在做一个关于IAR的项目。该项目将集成第三方中间件源代码目录。该目录具有以下数据结构

middleware
    |
    +--- tool1
    |      |
    |      +--- tool_imp.c
    |
    +--- tool2
    |      |
    |      +--- tool_imp.c        
    |
    +--- tool3
    |      |
    |      +--- tool_imp.c
    |
    +--- ...
总之,第三方源代码目录包含不同目录中同名的源代码

代码可以通过GCCARM正常生成。但是当使用IAR构建时,会遇到以下错误

生成错误:多个工具写入同一文件

我检查了IAR项目设置。目标文件指定在“$PROJ_DIR$/Debug/obj”中生成,因此同名.c文件将在该目录中生成同名.o文件,后者将覆盖前者。我猜这就是构建错误的意思

我不想更改每个目录中的文件名。那么在IAR中有没有其他方法来解决这个问题?例如,将对象文件放在不同的目录中,或者将目录名与源文件名连接以形成对象名


以前有人解决过这个问题吗?

我认为在同一个项目中,不同的文件不能有不同的路径。使用额外选项传递自定义对象文件位置似乎不起作用。但也有解决办法:在同一个工作区内创建不同的项目或项目配置,然后使用批构建一次性编译它们。虽然不是很优雅的解决方案。另一种选择是不使用IAR构建系统,而是手动编译。