主题中讨论的其他器件:MSP430F5529、 CC3100
工具/软件:Code Composer Studio
一年前、MSP430F5529编译器与 CC3100 SDK 配合使用的唯一方法是使用 MSP430F5529编译器版本 TI v4.2.7。 原因似乎是包含了 SDK http_lib。 去年、我们在多个实时运行项目中都非常成功地使用了这一功能。
我们希望升级并使用最新版本的 TI MSP430编译器…。"TI v16.9.3 LTS"、但它与 SimpleLink 不兼容。
我们使用的是最新版本 CC3100SDK1.2.0
当您将编译器选择从 TI v4.2.7更改为 TI v16.9.3 LTS 时、"Properties"…."General"选项卡下的"Properties"顶部会出现错误标志
当更改为版本16.0.3…...............................................必须 将输出格式从"legacy COFF"更改为"eabi (ELF)"、以便在"Properties"
现在、当尝试编译与编译器版本 TI v4.2.7完全相同的工程时、使用新的编译器版本 TI v16.9.3 LTS 时、会出现以下错误
"目标文件的格式不兼容:C:/Software/ti/CC3100SDK1.2.0/cc3100-sdk/platform/msp430f5529lp/library_project_ccs/http_lib/Debug/http_lib.lib "= TI-COFF,"/base64obj=ELF
正如您在随附的编译器诊断消息中看到的、MSP430文件的文件格式和用于创建 CC3100 SDK 的文件格式是不同的。
当然、TI 必须为此提供一个解决方案、以便客户可以将 MSP430编译器的最新版本与 CC3100 Simplelink SDK 和 http_lib 配合使用。
请建议如何解决此问题。
谢谢你
Lorne 和 Danny
编译器/诊断消息/16000
< 编译器| 诊断消息
跳转至: 导航、 搜索
典型消息
致命错误#16000:目标文件具有不兼容的格式
("/db/lang/msp/exec/rts430_eabi.lib "= ELF、"example.obj"=
TI-COFF)
含义
链接器提供了使用不同、不兼容的目标文件格式编译的目标文件或库。
为什么会发生这种情况
链接器只能组合单个目标文件格式的目标文件和库、但指定了多个目标文件格式的文件。 目标文件格式由应用程序二进制接口(ABI)控制、因此最终使用不同的--ABI 选项编译文件。 由于项目的目标文件是根据构建选项编译的、因此使用为不同 ABI 构建的库文件通常会出现问题。
补救措施
确保所有预编译的对象和库文件都是为您正在使用的 ABI 构建的。 您可以通过在构建选项对话框中查看--ABI 选项来验证正在使用的 ABI。 如果通过--library 选项明确指定要使用的 RTS 库,则可以将其删除--链接器将自动包含正确的 RTS 库。 如果您使用的是 TI 或第三方提供的其他库、请确认它们是否符合正确的 ABI。
风险、严重性
在解决此错误之前、无法创建可执行文件。