完善资料让更多小伙伴认识你,还能领取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文件),要如何避免这些问题? 请大神指点。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
1591 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1112 浏览 0 评论
1557 浏览 0 评论
1402 浏览 0 评论
1044 浏览 0 评论
74641 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 23:06 , Processed in 0.672692 second(s), Total 80, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号