工具/软件:TI C/C++编译器
在过去的几天里、我一直在处理"未定义符号"错误、现在已将其转移到链接器崩溃!
(我认为这是进步吗?)
未定义的符号错误似乎实际上是内存分配问题的症状。 当我向项目"B"添加一组新代码(新代码在项目"C"中验证工作)时、它开始出现。 未定义的符号错误与我正在集成的新类之一相关、即项目"B"中的"Comms_B"(同样、Comms_B 非常乐意在项目 C 中进行编译和链接)。 但我同时添加了几个其他内容、其中没有一个会触发任何编译器错误、所有这些都可以在项目 C 中正常工作(项目 C 使用同一个芯片、 但另一个链接器配置 F28335.cmd 文件与工程 B 不兼容、工程 B 比工程 C 大得多)
我在项目 B 中的新类周围放置了一些"#ifndef"、以便可以将其切换为输入/输出以测试链接器设置等
现在、当 Comms_B 超出图片时、我得到以下错误。
这是报告这种情况的适当场所吗?
感谢您的任何建议。 我无法公开共享代码(您无论如何都不想读取代码)、但我认为我可能会获得批准以提交给 TI 进行故障排除。
我在 Linux 上运行的是 Code Composer Studio v7.2、编译器版本为18.1.1 LTS。
--
****为项目 B 构建配置调试****
/home/user/ti/ccsv7/utils/bin/gmake -k -j 4 all -O
建筑目标:B.out
调用:C2000链接器
"/home/user/ti/ccsv7/tools/compiler/ti-cgt-c2000_18.1.1.LTS/bin/cl2000 /home/user/workspace_v7/EMSLib/DSP2833x_Headers_nonBIOS.cmd /home/user/workspace_v7/ELib/Debug/ELib.lib -v28 -ml -mt --float_support=fpu32 -off -opt_for_speed=2 -advice:performance=所有-g -rlib -diag_warning=225 -diag_wrap=off -display_error_number -z -stack_size=0x300 -rlib_exit_rom-/home/user/ti/ccsv7/tools/compiler/ti-cgt-c2000_18.1.1.LTS/lib /home/user/workspace_v7/BAUTO/Debug/BAUTO.lib -link_lib_ram_ram_prisec."-content_lib_infote_infote_infot_infot_infot_infot_infot_content-/home/user/ti/ccsv7/tools/compiler/ti-cgt-c2000_18.1.1.LTS/include /home/user/workspace_v7/BLib/Debug/BLib.lib -link/r321./rts.html"-content_lib_lib_lib_infot_infot_infot_infot_infot_infot_infot_infot_ina./r./rts.intrack_infot_infot_infot_infot_infot_infot_infot_infot_infot_infot_infot_infot_infot_infot.in./infot.in./infot_infot_infot_infot_infot_infot_infot
警告#10210-D:创建默认大小为0x400的".esysmim"段;使用-heap 选项更改默认大小
内部错误:/home/user/ti/ccsv7/tools/compiler/ti-cgt-c2000_18.1.1.LTS/bin/lnk2000遇到段错误
这是由 TI 链接器中的缺陷引起的。
TI 客户支持可能会建议解决方法来避免这种情况。
升级到编译器的最新版本可能会解决此问题。
在 E2E 支持论坛中联系 TI、网址 为 http://e2e.ti.com 、位于
"开发工具"、"TI C/C++编译器"。 请参阅标题为的链接
"提交问题"。
我们需要看到整个错误消息以及完整、可重现的消息
包括所有命令行选项的测试用例。
包含所有目标文件、库和链接器命令文件
用于链接程序。
gmaking[1]:***[B.OUT]错误1
>>编译失败
Makefile:151:目标'B.out'的配方失败
gmake:***[全部]错误2.
Makefile:142:目标'all'的配方失败
****构建完成****