嵌入式技术william hill官网
直播中

HCPcry

8年用户 1187经验值
擅长:处理器/DSP
私信 关注
[问答]

MDK如何编译rtt成Lib并连接运行呢

各位大佬好,打扰了。请问如何把 rtt 编译成 lib, 让主工程应用逻辑直接链接。 尝试直接完整编译成lib, 无法启动运行,debug 直接进入 main 函数了。把 componet 移动到主工程,结果无法链接。报错如下:

1.jpg

lib 库是直接在主分支 scons -dist 之后 scons --target=mdk5 创建的,可以正常编译:

1.jpg

谢谢!

回帖(6)

刘强

2022-10-21 10:29:39
至少,把 main.c 文件去掉
建议把启动代码,main.c components.c 文件都去掉,剩下再编译成库。
细化一下更好,内核文件一个库,内核驱动框架一个库, hal 层一个,driver 层一个。
举报

HCPcry

2022-10-21 10:29:55
多谢您的回答,之前已经把这个三个文件移到主工程了。但是链接报错。您看可能是什么原因? 谢谢
1.jpg
举报

刘强

2022-10-21 10:30:11
没有 extern ?
举报

HCPcry

2022-10-21 10:30:22

1.jpg
举报

刘强

2022-10-21 10:30:35
删了从头弄吧,从一个完整的项目搞。
你不会是自己创建的新项目吧。头文件路径没加?
举报

HCPcry

2022-10-21 10:30:44
主工程是手动创建的,rtt 的是直接 scons --target=mdk5 生成,然后改mdk配置为生成lib的;头文件已经添加,否则编译就会出错,而不是链接出错。。。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分