硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3550|回复: 2
收起左侧

[MDK] clang 编译器编译 lib 不能使用的解决方法

[复制链接]

15

主题

87

回帖

132

积分

初级会员

积分
132
发表于 2020-3-1 17:27:19 | 显示全部楼层 |阅读模式
之前都是用armmcc来编译的库,后来改用 ac6.12 (armclang)编译 lib 发现找不到定的函数,查找了不少资料都没找到解决的办法,今天用 7-zip查看 编译后的 lib 文件发现没有函数说明
打开lib 文件,有一个 1.txt文件,发现大小是0
正常的 lib 文件用7-zip打开后是类似这样的
lib_test.o    cal           ///cal 就是函数名
lib_test.o    comm_t


原来是这里的原因,切换回 clang 编译器后,生成的 lib 文件里 1.txt 是空的,没有函数名导出,但是用 armmcc 是有函数名导出的
这是什么原因呢?

摸来摸去,发在在项目的 c/c++选项里,只要把 link-time optimization 这个选项勾去掉不打勾选就会自动
导出了函数名,
原来如此,怎么会这样呢?前几个月没有找到原因,只能默默的忍受采用 armmcc 来编译库文件,慢得要死,

评分

参与人数 1金币 +100 收起 理由
eric2013 + 100

查看全部评分

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115679
QQ
发表于 2020-3-2 13:15:38 | 显示全部楼层
非常感谢楼主分享
回复

使用道具 举报

15

主题

87

回帖

132

积分

初级会员

积分
132
 楼主| 发表于 2020-3-4 22:02:06 | 显示全部楼层
可能很多人没碰到过这个问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-11 14:32 , Processed in 0.212059 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表