完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1、我在Keil中先生成了一个.lib库文件,直接复制到RTT-studio中进行编译,但是出现了找不到相关函数错误。如下图: 2、然后修改了库文件的包含路径,如下图: 没提示函数错误了,但缺提示找不到库文件路径。 c:/rt-threadstudio/repo/extract/toolchain_support_packages/arm/gnu_tools_for_arm_embedded_processors/5.4.1/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/bin/ld.exe: cannot find -lF:/ZNY/Smart_XONE/STM32L496ZG_V20200720/STM32L496ZG_V20200720/applications/MAL/Delay_MAL/Delay_MAL.lib |
|
相关推荐
4个回答
|
|
studio 使用的是 gcc 工具链,与keil 使用的armcc 工具链的链接器对库文件的格式不兼容,可以去库的提供商那里寻找下gcc 版本的库文件,通常具有lib 前缀和.a 或者.so 后缀,比如libDelay_MAL.a
如果找到了gcc 版本的库文件 ,可以在工程属性中添加,如下图 |
|
|
|
|
|
|
|
|
|
现在在RTT-studio中生成.a库文件可以了,但是好像如果原来的.c文件中包含如:
INIT_BOARD_EXPORT(fn) 申明的初始化函数、 INIT_PREV_EXPORT(fn) 申明的初始化函数、 INIT_DEVICE_EXPORT(fn) 申明的初始化函数、 INIT_COMPONENT_EXPORT(fn) 申明的初始化函数、 INIT_ENV_EXPORT(fn) 申明的初始化函数、 INIT_APP_EXPORT(fn) 申明的初始化函数、 上述宏初始化的申明的函数,都不能在库文件中执行(比如:出现找不到一些设备的提示,证明这些宏没执行到),同时最终的可执行文件(用.a库文件链接的)比用源文件(用.c文件编译链接的)的文件大小要小很多。 这种情况是怎么回事?如果想不动源文件(.c文件),要如何避免这些问题? 请大神指点。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
754 浏览 0 评论
3703 浏览 0 评论
如何使用python调起UDE STK5.2进行下载自动化下载呢?
2459 浏览 0 评论
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
2892 浏览 0 评论
获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
31079 浏览 11 评论
72771 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 14:35 , Processed in 1.049599 second(s), Total 48, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号