cmake-ibmtpm1682编译

1、error Ossl library is using different radix 异常解决

RADIX_BITS由 64改成32

--whole-archive CMakeFiles\ibm-tpm-my.dir/objects.a -Wl,

--no-whole-archive @CMakeFiles\ibm-tpm-my.dir\linklibs.rsp

CMake中的 --whole-archive以及--no-whole-archive两者都是编译器选项,需要配合使用-Wl传递给编译器。 --whole-archive选项作用是设置连接器将库中的符号全部加载到链接的库中,--no-whole-archive表示关闭编译器。

cmake&gcc笔记 | Avvount's Blog

  1. 链接库

    link_libraries(pthread xxx.a)
    link_libraries(pthread "-Wl,--whole-archive" xxx.a "-Wl,--no-whole-archive")

    "-Wl,--whole-archive""-Wl,--no-whole-archive"用于生成动态库(yyy.so),是ld使用的命令行参数
    "-Wl,--whole-archive" 告诉编译器,从这里开始,所有的库的内容都包含到yyy.so中,这种方式生成的so较大,之后依赖该yyy.so的程序可以直接使用yyy.so所依赖的静态库xxx中的函数而不需要再次静态链接xxx
    "-Wl,--no-whole-archive" 告诉编译器,从这里开始,以后的库的内容不用都包含到so中,so体积较小,依赖该so的程序需要使用静态库xxx中未被yyy.so使用的函数时需要再次链接xxx

    也可以使用 target_link_libraries(target_name "-Wl,--whole-archive" xxx.a "-Wl,--no-whole-archive" pthread) 进行链接,target_link_libraries用在第7条之后,只对指定生成目标生效,link_libraries用在第7条之前,对之后所有生成目标均生效

2、linker input file unused because linking not done

解决方法,去掉 -c

相关推荐
shawxlee11 分钟前
vue3在public下封装config.js自定义配置动态数据,可在打包后直接修改,方便后端部署及后续维护
前端·javascript·经验分享·vue·团队开发·js·项目优化
Jelena1577958579216 分钟前
电商运营分析数据比价接口实战:多平台价格监控与智能决策系统
java·大数据·数据库
用户0595401744638 分钟前
把记忆存储的回归测试从手工换成 Playwright + GitHub Actions,线上缺陷降低 80%
前端·css
触底反弹44 分钟前
🚀 从 DOM0 级到 React 合成事件:前端事件监听的 20 年演进史
前端·react.js·面试
kyriewen1 小时前
我给前端项目的接口请求套了6层保护——才发现以前一直在裸奔
前端·javascript·面试
颜酱1 小时前
04 | 召回前置准备:搭好召回所需的四个数据库
前端·人工智能·后端
神明不懂浪漫1 小时前
【第五章】Java中的继承与多态
java·开发语言
郝亚军2 小时前
如何安装webstorm、Node.js和vue CLI
前端·javascript·vue.js
IT_陈寒2 小时前
React的useEffect依赖项把我坑惨了
前端·人工智能·后端
东方小月3 小时前
从零开发一个Coding Agent:monorepo项目搭建
前端·后端·node.js