工具/软件:TI C/C++编译器
你(们)好 将 TI ARM 编译器从18.1.1升级到18.12.0后出现此错误。 该错误在 OryxCyclone 1.9.0 (https://www.oryx-embedded.com/)库的函数"pathFindFileName"上重现。
我已经从 编译器调用中剪切了不必要的--include_path 标志。
const char_t * pathFindFileName (const char_t *路径) { size_t n; //检索路径的长度 n = strlen (path); //在 (n > 0) { //找到正斜杠或反斜杠字符? if (path[n - 1]!='/'&& path[n - 1]!='\') break; //previous character n-; } //搜索最后一个分隔 符的字符串 while (n >0) { //找到正斜线或反斜线字符? if (path[n - 1]='/'||path[n - 1]='\') break; //previous character n-; } //返回指向文件名 的指针返回路径+ n; }
编译文件:"../OryxCyclone/common/path.c
调用:ARM 编译器
"C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.12.0.LTS/bin/armcl -mv7M4 -code_state=16 -float_support=FPv4SPD16 -me -O2 -opt_for_speed=0
--include_path="D:/work/projects/UpsController/UpsController/OryxCyclone/common
--include_path="D:/work/projects/UpsController/UpsController/OryxCyclone/cyclone_crypto
--include_path="D:/work/projects/UpsController/UpsController/OryxCyclone/cyclone_ssl
--include_path="D:/work/projects/UpsController/UpsController/OryxCyclone/cyclone_tcp
--include_path="C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.12.0.LTS/include
--define=ccs="ccs"--define=target_is_Snowflake_RA0 --define=use_EK_TM4C1294XL --define=part_TM4C1294NCPDT -g --c99 --c++14 --gcc ---diag_warning=225 --diag_wrap_overview-example_orcpe_orcpe_orage=off --/OryxCyclone/common/path.c preoverview/overview_on_orage="bon_overview"
>>编译失败
OryxCyclone / common/subdir_rules.mk:44:目标'OryxCyclone / common/path.obj'的配方失败
>>>优化器异常终止
>>>>在函数 pathFindFileName()中
>>>>在文件"./OryxCyclone/common/path.c 中
这是由 TI C/C++优化器中的缺陷导致的。
TI 客户支持可能会建议解决方法来避免这种情况。
升级到编译器的最新版本可能会解决此问题。
在 E2E 支持论坛中联系 TI、网址 为 http://e2e.ti.com 、位于
"开发工具"、"TI C/C++编译器"。 请参阅标题为的链接
"提交问题"。
我们需要看到整个错误消息以及完整、可重现的消息
包括所有命令行选项的测试用例。
包含由选项--preproc_with_comment 创建的.pp 文件
gmake.1]:***[OryxCyclone/common/path.obj]错误1.