首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ARM链接错误信息“没有源文件-什么都没有做”,没有找到现有的符号库?

ARM链接错误信息“没有源文件-什么都没有做”,没有找到现有的符号库?
EN

Stack Overflow用户
提问于 2022-05-21 13:30:07
回答 1查看 150关注 0票数 0

我正在使用一个来自TI的TMSp320F2888D,它的特点是ARM皮质处理器。由于某些原因,我无法再在Eclipse中构建我的项目了,即使是在将我的代码重置为更早的提交之后。

当我试图在清理项目之后构建该项目时,我会收到以下错误消息:

但是,丢失的符号位于我使用相应的链接器标志的库中。

以下命令验证我的系统中是否存在符号和库:

代码语言:javascript
复制
nm ~/ti/C2000Ware_3_04_00_00_Software/driverlib/f2838x/driverlib_cm/ccs/Debug/driverlib_cm.lib | grep Ethernet_rec
00000001 T Ethernet_receiveISR
00000001 T Ethernet_receivePacketCallback
nm ~/ti/C2000Ware_3_04_00_00_Software/driverlib/f2838x/driverlib_cm/ccs/Debug/driverlib_cm.lib | grep Ethernet_tran
00000001 T Ethernet_transmitISR

我在Eclipse中包含了相应的库和搜索路径:

查看构建控制台,这是在失败之前发出的最后一个命令:

代码语言:javascript
复制
Building target: "enet_lwip_cm.out"
Invoking: ARM Linker
"/home/dvarx/ti/ccs1030/ccs/tools/compiler/ti-cgt-arm_20.2.4.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=none -me -O0 --opt_for_speed=0 --define=_FLASH --define=ccs -g --diag_warning=225 --gen_func_subsections=on --abi=eabi --ual -n -z -m"enet_lwip_cm.map" --heap_size=0x1000 --stack_size=2048 -i"/home/dvarx/ti/ccs1030/ccs/tools/compiler/ti-cgt-arm_20.2.4.LTS/lib" -i"/home/dvarx/ti/C2000Ware_3_04_00_00_Software/driverlib/f2838x/driverlib_cm/ccs/Debug" -i"/home/dvarx/ti/ccs1030/ccs/tools/compiler/ti-cgt-arm_20.2.4.LTS/include" -i"/home/dvarx/ti/ccs1030/ccs/tools/compiler" -i"/home/dvarx/ti/C2000Ware_3_04_00_00_Software/driverlib/f2838x/driverlib_cm/ccs/Debug" --reread_libs --warn_sections --xml_link_info="enet_lwip_cm_linkInfo.xml" --rom_model -o "enet_lwip_cm.out" "./comm_interface.obj" "./f2838xif.obj" "./fs.obj" "./httpd.obj" "./lwiplib.obj" "./main_tcp_interface_lwip.obj" "./pinout.obj" "./startup_ccs.obj" "./ustdlib.obj" "../2838x_flash_lnk_cm_lwip.cmd"  -l"/home/dvarx/ti/C2000Ware_3_04_00_00_Software/driverlib/f2838x/driverlib_cm/ccs/Debug/driverlib_cm.lib" -l"/home/dvarx/ti/C2000Ware_3_04_00_00_Software/driverlib/f2838x/driverlib_cm/ccs/Debug/driverlib_cm.lib" -llibc.a 
>> ERROR: no source files, nothing to do
Finished building target: "enet_lwip_cm.out"

我不知道为什么链接器会抱怨缺少源文件,因为它们似乎是在命令中提供的?

EN

回答 1

Stack Overflow用户

发布于 2022-05-22 12:01:34

我解决了这个问题。问题是在编译器中设置了-n标志。这导致编译器生成程序集文件.asm而不是对象文件.obj。删除此标志后,项目将正确构建。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72330011

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档