c - 链接器选项,路径总和太长?

标签 c windows makefile linker iar

我必须将 IAR 项目迁移到 Eclipse IDE 和 GCC 编译器。 为此,我一步步进行,第一步是使用 Eclipse + makefile 和 IAR 编译器。

编译没有问题,我有目标文件,问题是在链接期间,链接器提出了问题:

IAR ELF Linker V7.10.3.6832/W32 for ARM Copyright 2007-2014 IAR Systems AB. Fatal error[Li001]: could not open file "C:\tunk\src\Sources\mirtic_meta_data\mirtic_meta_data.o"

如果我更改链接文件的顺序,则引发错误的文件不是同一文件。但每次路径中都会缺少一个字母,而且是同一个字母:“r”

这里,文件应该位于目录“trunk”而不是“tunk”中。 我检查了一下,发送到链接器时的路径是正确的。

显然,Windows 无法处理很多路径。但我不知道如何解决我的问题(我尝试将项目放在“C:”附近,但没有结果)。 我知道有一个解决方案,因为使用 IAR Workbench,我可以构建一个二进制文件。

最佳答案

在使用 IAR 的 Eclipse 插件时,我遇到了非常类似的问题,但对我来说,这是在编译步骤上。我有太多包含路径,以至于超出了命令长度限制。我的解决方案(也许会对您有所帮助)是确保使用相对路径而不是绝对路径构建的所有内容。就我而言,需要更改 Eclipse 项目内的包含目录以将它们指定为相对路径。我不确定您是否可以使用 makefile 完成同样的事情,但希望这可能会有所帮助。

关于c - 链接器选项,路径总和太长?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39610798/

相关文章:

c - 当退出 C 应用程序时,分配的内存是否会自动释放?

c - 使用指针以相反顺序检索值

c++ - 函数指针和dll加载顺序

python - 如何在 Windows 中安装 pacparser?

c# - 如何将带有 const char* 的 C union 映射到 C# 结构?

c - 手动指定特定链接符号的重新映射

windows - 如何将扩展 APDU 与 Windows 智能卡框架一起使用

c++ - C中有许多进程的文件打开问题

c++ - 是否可以在 Makefile 的单次传递中使用 gcc/g++/nvcc automatic dependency -M 而无需将依赖项保存到文件中?

linux - gcc架构问题