Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
.a gcc静态库文件
RT-Studio_settings
10
[求助]请教RT-Studio链接.a库文件
发布于 2024-05-14 10:31:21 浏览:270
订阅该版
各位大哥,请教个问题呀。 我在使用RT-Studio。想链接一个.a库文件,但是捣鼓了很久都没有搞定。 (1)先说.a文件是怎么来的。 ①找到RT-Studio的编译工具链: ``` D:\RT-ThreadStudio\repo\Extract\ToolChain_Support_Packages\ARM\GNU_Tools_for_ARM_Embedded_Processors\5.4.1\arm-none-eabi\bin\ ``` ②使用ar把编译完的.o,打包出.a文件。 ```shell D:\RT-ThreadStudio\repo\Extract\ToolChain_Support_Packages\ARM\GNU_Tools_for_ARM_Embedded_Processors\5.4.1\arm-none-eabi\bin\ar.exe rcs libv3s_driver.a ./*.o ``` (2)修改Scons脚本 ①libv3s_driver.a文件存放路径为 `drivers/v3s_driver/libv3s_driver.a` ```shell @LAPTOP-BH56UJG6 E:\SVN_Public\rt_studio\workspace\V3s_RTT_AWTK\drivers\v3s_driver $ ls -l total 261 -rw-r--r-- 1 meika Administrators 200 Apr 3 14:43 SConscript -rw-r--r-- 1 meika Administrators 172776 May 14 09:46 libv3s_driver.a -rw-r--r-- 1 meika Administrators 973 Feb 20 16:25 utils.h -rw-r--r-- 1 meika Administrators 506 Jan 2 10:12 v3s_arm32.h -rw-r--r-- 1 meika Administrators 579 Jan 2 10:48 v3s_cache.h -rw-r--r-- 1 meika Administrators 3856 Feb 9 00:00 v3s_clock.h -rw-r--r-- 1 meika Administrators 111 Jan 2 10:48 v3s_delay.h -rw-r--r-- 1 meika Administrators 5170 Feb 20 16:06 v3s_dma.h -rw-r--r-- 1 meika Administrators 31134 May 14 09:47 v3s_driver.zip -rw-r--r-- 1 meika Administrators 4798 Feb 14 17:33 v3s_gpio.h -rw-r--r-- 1 meika Administrators 802 Mar 26 09:29 v3s_iic.h -rw-r--r-- 1 meika Administrators 338 Mar 26 09:52 v3s_io_iic.h -rw-r--r-- 1 meika Administrators 1822 Feb 21 10:44 v3s_irq_map.h -rw-r--r-- 1 meika Administrators 3243 Feb 21 09:41 v3s_lcd.h -rw-r--r-- 1 meika Administrators 2590 Feb 21 14:51 v3s_lcd_conf.h -rw-r--r-- 1 meika Administrators 5431 Jan 2 10:48 v3s_lcd_de.h -rw-r--r-- 1 meika Administrators 454 Jan 2 10:48 v3s_lcd_lvds.h -rw-r--r-- 1 meika Administrators 2495 Feb 9 00:00 v3s_reg_ccu.h -rw-r--r-- 1 meika Administrators 1936 Feb 20 16:27 v3s_reg_de.h -rw-r--r-- 1 meika Administrators 1717 Feb 20 16:28 v3s_reg_tcon.h -rw-r--r-- 1 meika Administrators 1148 Feb 18 11:46 v3s_spi.h -rw-r--r-- 1 meika Administrators 2186 Feb 20 16:26 v3s_timer.h -rw-r--r-- 1 meika Administrators 479 May 8 14:29 v3s_touch_conf.h -rw-r--r-- 1 meika Administrators 8533 Feb 21 10:58 v3s_types.h -rw-r--r-- 1 meika Administrators 207 Apr 3 08:32 v3s_uart.h ``` ②修改drivers目录下的scons脚本 ```python from building import * cwd = GetCurrentDir() src = Glob('*.c') list = os.listdir(cwd) CPPPATH = [cwd] objs = [] LIBPATH = [cwd + '/v3s_driver'] LIBS = ['v3s_driver'] if not GetDepend('BSP_DRV_EMAC'): SrcRemove(src, ['drv_smc911x.c']) if not GetDepend('BSP_DRV_CLCD'): SrcRemove(src, ['drv_clcd.c']) group = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH, LIBS = LIBS, LIBPATH=LIBPATH) for d in list: path = os.path.join(cwd, d) if os.path.isfile(os.path.join(path, 'SConscript')): objs = objs + SConscript(os.path.join(d, 'SConscript')) objs = objs + group Return('objs') ``` ③同步scons配置至项目 ④编译项目 最后提示链接库报错 ```shell linking... d:/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 -lv3s_driver collect2.exe: error: ld returned 1 exit status make: *** [makefile:160: rtthread.elf] Error 1 ``` 不知道怎么搞了,兄弟们支支招。
查看更多
iysheng
2024-05-14
这家伙很懒,什么也没写!
1. 添加 -L 后面跟着 .a 的路径试一试
2
个回答
默认排序
按发布时间排序
LinjieGuo
2024-05-14
这家伙很懒,什么也没写!
问题解决了,最终解决方案。 个人猜测,scons提供的LIBS和LIBPATH。 只有LIBS会被应用,LIBPATH没有被使用。需要在RT-Studio中,UI界面,配置链接库的搜索路径。 ![image-20240514154052047.png](https://oss-club.rt-thread.org/uploads/20240514/feacdb5e1d2172149a938a3b259501d2.png.webp) 最后看到makefile文件,有库的绝对路径了 ```shell # 工具调用 rtthread.elf: $(OBJS) $(USER_OBJS) arm-none-eabi-g++ -march=armv7-a -marm -mfloat-abi=soft -O0 -Wall -g -gdwarf-2 -T "E:\SVN_Public\rt_studio\workspace\V3s_RTT_AWTK\link.lds" -Xlinker --gc-sections -L"E:\SVN_Public\rt_studio\workspace\V3s_RTT_AWTK\drivers\v3s_driver" -Wl,-Map,"rtthread.map" -o "rtthread.elf" $(OBJS) $(USER_OBJS) $(LIBS) ```
撰写答案
登录
注册新账号
关注者
0
被浏览
270
关于作者
LinjieGuo
这家伙很懒,什么也没写!
提问
4
回答
3
被采纳
0
关注TA
发私信
相关问题
1
串口3sonsole输出时,每次配置settings就自动变成uart1
2
新建工程,无RT-Thread Settings选项
3
RT-Thread studio
4
env工具行最大字符设置
5
studio编译无法添加某些component组件
6
rt-thread studio settings导入的项目添加组件不起作用
7
RT-Thread Settings 出错(我曾经移动复制过工程)
8
RT-Thread Settings 有log 错误, 打不开
9
studio中修改setting在build会出很多错
10
无法打开Settings文件进入软件包界面
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
2
RT-Thread 发布 EtherKit开源以太网硬件!
3
rt-thread使用cherryusb实现虚拟串口
4
《C++20 图形界面程序:速度与渲染效率的双重优化秘籍》
5
《原子操作:程序世界里的“最小魔法单位”解析》
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
ota在线升级
UART
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
at_device
ulog
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
13
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
本月文章贡献
程序员阿伟
7
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
2
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部