This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/TM4C1237H6PGE:编译器从5.1.12升级到17.6.0会导致宏警告的重新定义不兼容

Guru**** 2448780 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/622430/ccs-tm4c1237h6pge-compiler-upgrade-from-5-1-12-to-17-6-0-caused-incompatible-redefinition-of-macro-warnings

器件型号:TM4C1237H6PGE

工具/软件:Code Composer Studio

我将回顾一个已有几年历史的项目、最近我升级了编译器以访问 time64_t 重新编译后、我收到了编译器发出的几条警告、如下所示。 我要说这个项目目前正在使用 StellarisWare (以显示它的使用时间)。 我最终将迁移到 Tivaware、但一次有一个问题。 请有人向正确的方向指出我吗?  

"C:\StellarisWare\driverlib\pin_map.h"、第59069行:警告#48-D:宏"GPIO_PA2_SSI0CLK"的重新定义不兼容(在第42782行声明)
"C:\StellarisWare\driverlib\pin_map.h"、第59071行:警告#48\vertis\gpin_mware\s430\vert_map_mware\line 590748\sb#define:

在"548_mware\sb_mware\sb#_mware\sb#_mware\sb#_mware\vert_map.microclb#4_mware\sb#b#_mware\sb#_mware\sb#_mware\gpincompatible define 59073"(在第590748_mware\sb_mware\sb#_mware\b 宏"GPIO_PA5_SSI0TX"的重新定义不兼容(在第42795行声明)
"C:\StellarisWare\driverlib\pin_map.h"、第59077行:警告#48-D:宏"GPIO_PA6_I2C1SCL"的重新定义不兼容(在第42800行声明)
"C:\driver288\b_map_bline.d"(在
第5808_driver288\b_line.d_line-vert_isd_map_isd_line.h 行声明:"5808_line"警告#5808_driver288\gpin_line.d_line.d"、"5808\gpin_driver288\gpin_line.t_line.d_line. 宏"GPIO_PB0_U1RX"的重新定义不兼容(在第42819行声明)
"C:\StellarisWare\driverlib\pin_map.h"、第59086行:警告#48-D:宏"GPIO_C01_U1TX"的重新定义不兼容(在第42824行声明)
"C:\StellarisWare\bline_driver2\bline.2rline.d"、"GPIO\b2rline-line-line.2rline"(在
第548\b_driverlib_line.mware\b2rline.h 行声明为"GPIO"、"GPIO\b_line-vert_line.h:"GPIO"、"GPIO\b_line-vert_b_line"警告:"5rexclud 宏"GPIO_PB3_I2C0SDA"的重新定义不兼容(在第42832行声明)
"C:\StellarisWare\driverlib\pin_map.h"、第59097行:警告#48-D:宏"GPIO_PB4_CAN0RX"的重新定义不兼容(在第42838行声明)
"C:\bonline_driver28102\bline.gpin_b402\gpin_line-map_b402_decurity:"GPIO_b_b_b_line"(在第485_b_b_line.h 行声明:"GPIO_b_b_b_b_b_b_line"警告:#d_line"、"_driverlib_line"、"gpin_line.d_
宏"GPIO_PC0_TCK"的重新定义不兼容(在42862行声明)
"C:\StellarisWare\driverlib\pin_map.h"、59106行:警告#48-D:宏"GPIO_PC0_SWCLK"的重新定义不兼容(
在42863行声明)"C:\StellarisWare\\cmelincompatible redefinition #48\texclines\cmel_line.d"、"GPIO_map_line"(在42865_line.mel_line"
行中声明):"4mware\d_line.mel_line"、"40_line.mel_line"(在"465_line.mware\driverlib_line"、"4mel_mel_ 宏"GPIO_PC1_SWDIO"的重新定义不兼容(在第42866行声明)
"C:\StellarisWare\driverlib\pin_map.h"、第59113行:警告#48-D:宏"GPIO_PC2_TDI"的重新定义不兼容(
在第42868行声明)"C:\StellarisWare\pincompatible redefinition #48\dline_map"、"GPIO_mware\line 5970\swap_line.d"
(在第42868行声明):"GPIO_map_map_bon_line.tDIO\b#d_map_line"(在第48_map_b#d_b#d_map_map_map_b#d_b#d_map_b# 宏"GPIO_PC3_TDO"的重新定义不兼容(在42871行声明)
"C:\StellarisWare\driverlib\pin_map.h"、59140行:警告#48-D:宏"GPIO_PC7_USB0PFLT"的重新定义不兼容(
在42902行声明)"C:\StellarisWare\pincompatible redefinition #48\mware\line 248\b9_mline.d"、"GPIO_line-map_b9242\b"(在"GPIO_b_b#24_b_b_clb_b_b_b_b_b_b_bn_cl_b9_b_b_b_b_clb_cl_b_clb_cl_bt 列
声明) 不兼容的宏"GPIO_PF3_SSI1FSS"重定义(在第43027行声明) 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Sheldon、
    查找行中的某些头文件不兼容。 我强烈建议您将 TivaWare 库用于 TM4C 器件、否则在构建项目时可能会遇到更多问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Sheldon、您好!

    当项目中包含的多个.c 或.h 文件(通常为.h)使用#define 定义相同的函数/变量时、会发生该错误。

    我会比较编译器更改时在 Project Properties 中包含的新文件、并查看这些新添加的文件中是否有任何一个会导致冲突、然后从此处解决冲突。 要查看的属性包括:

    • Build -> ARM Compiler -> Include Options
    • Build -> ARM 连接器->文件搜索路径

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Sheldon、

    我完全赞同查尔斯的建议----这一建议是在我的面前提出的:)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    嗯、我更新到了 TivaWare。

    在几个小时更新声明并包括在内之后、我收到了要消失的警告...哈哈

    迁移指南 spma050确实很有帮助,但我想我将在很长一段时间内测试该程序,以证明在升级过程中没有发生任何不良情况。