使用-Wl,-dead_strip链接时出现警告的消除方法咨询
解决
-Wl,-dead_strip引发的入口符号警告问题 警告原因
你输入的链接选项存在拼写错误——正确选项是-Wl,-dead_strip,但你大概率误写成了-Wl,ad-strip(把dead写成了ad)。链接器将错误的ad-strip识别为需要查找的入口符号,因此抛出“找不到入口符号”的警告。
解决方法
- 检查你的链接命令或构建配置(比如Makefile、CMake脚本),将错误的
ad-strip替换为dead_strip,确保完整选项为-Wl,-dead_strip - 如果是批量配置,全局搜索
ad-strip关键词,统一修正为正确的dead_strip
符号剥离优化建议
- 保留编译时的
-ffunction-sections(对应你提到的--function-section)和链接时的-Wl,--gc-sections,搭配正确的-Wl,-dead_strip,可以实现更彻底的无用函数/数据清理 - 若需要清理数据段冗余符号,编译时可额外添加
-fdata-sections选项,链接时合并配置为-Wl,--gc-sections,-dead_strip即可
内容的提问来源于stack exchange,提问作者Beny
相关产品推荐
相关产品推荐

