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

相关推荐
嘿嘿-666 小时前
Windows 一键使用 GPT-6 Astra:Codex CLI 配置教程
java·人工智能·windows·gpt·chatgpt·web
是立不是利6 小时前
写给设计师的 CSS 博客美学指南
前端·css
dsyyyyy11017 小时前
JS复习,难点,易错点总结
开发语言·javascript·ecmascript
默_笙7 小时前
🏝 Docker 就是"房地产开发":从施工图纸到小区物业的容器化指南
前端·javascript
计算机魔术师7 小时前
Rohan Paul 谈用时间跨度衡量智能体能力,并引用 OpenAI 自动化研究实习生里程碑
前端
kyriewen7 小时前
我手写了个极简版 React Router——才搞懂 v6 为什么砍了这么多 API
前端·javascript·程序员
策案案案7 小时前
YOLO: 将AI Agents嵌入到IntelliJ IDEA
java·大数据·人工智能·笔记·yolo·microsoft·intellij-idea
a1117767 小时前
Shirone 二次元博客主题 开源
前端·开源
IT_陈寒8 小时前
Python的切片赋值把我坑惨了,这不是bug是特性
前端·人工智能·后端
掘金酱8 小时前
【社区公告】致每一位掘友:关于这次调整, 想再说几句
前端·人工智能