0

我正在使用 ARM DS-5 Eclipse IDE。

我正在尝试链接 2 个项目(myProj 和 myProj_bsp)。第一个基于ARM-6 Compiler,第二个基于ARM-5 Compiler。因此,我遇到了构建错误:L6242E 无法链接对象,因为它的属性与图像属性不兼容。在控制台窗口中,我收到以下错误:

....wchart-16 与 wchart-32 发生冲突。

....packed-enum 与 enum_is_int 冲突。

我认为该错误是由于 2 个编译器之间的数据类型不匹配造成的。

谁能告诉我如何解决这个问题??

4

1 回答 1

0

ARM5(armcc) 和 ARM6(armclang) 编译器是完全不同的编译器。该错误是由于链接器在被链接的两个对象中检测到不同大小的 wchar 和枚举。对于 wchar 和枚举,被链接的对象应该具有相同的大小。这可以通过将 --wchar32 和 --enum_as_int 传递给 ARM5 编译器来完成,ARM5 编译器将 wchar 视为 32 位大小,枚举也是 32 位。有关错误的更多详细信息可以在下面的链接中找到。

https://developer.arm.com/documentation/dui0483/g/frequently-asked-questions-and-troubleshooting/gnu-linker-or-armlink-report-conflicts-between-wchar-t-types

于 2021-09-14T09:55:37.063 回答