You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++引用<openssl/applink.c>出现类型转换错误的解决方法

报错根因

C标准强制要求不允许函数指针类型隐式转换为void*,你添加的extern "C"块仅会调整包裹内容的函数链接规则,不会修改C本身的强类型校验逻辑,所以直接在C++代码中引入applink.c时会触发该类类型转换报错。

解决方法
  • 方法一:你已经找到的快速适配方案,直接在编译选项中添加-fpermissive参数,该参数会放宽C++语法校验规则,允许上述隐式类型转换,可直接解决报错。
  • 方法二:更规范的适配方案,无需修改全局编译规则:单独新建一个C语言源文件,仅在该C文件中引入applink.c,再将该C文件与你的C++项目代码一同编译即可。C语言本身允许函数指针到void*的隐式转换,不会触发报错。

内容的提问来源于stack exchange,提问作者lanpesk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 19:36:00