转自:http://www.cnblogs.com/ubosm/p/5444919.html

使用vs2015编译ffmpeg的一个小项时,出现了__imp__fprintf和__imp____iob_func 的错误,google了一下,有的人 建议下载SDL源码重新编译一下,当然这个方案非常不科学。所以又继续搜,终于有所发现。

这是老外的原话:

In visual studio 2015, stdin, stderr, stdout are defined as follow :

#define stdin  (__acrt_iob_func(0))
#define stdout (__acrt_iob_func(1))
#define stderr (__acrt_iob_func(2))

But previously, they were defined as:

#define stdin  (&__iob_func()[0])
#define stdout (&__iob_func()[1])
#define stderr (&__iob_func()[2])

So now __iob_func is not defined anymore which leads to a link error when using a .lib file compiled with previous versions of visual studio.

To solve the issue, you can try defining __iob_func() yourself which should return an array containing {*stdin,*stdout,*stderr}.

Regarding the other link errors about stdio functions (in my case it was sprintf()), you can add legacy_stdio_definitions.lib to your linker options.

答题意思就是stdin, stderr, stdout 这几个函数vs2015和以前的定义得不一样,所以报错。

解决方法呢,就是使用{*stdin,*stdout,*stderr}数组自己定义__iob_func()

其实就是下边这样。

extern "C" { FILE __iob_func[3] = { *stdin,*stdout,*stderr }; }

然后__imp__fprintf的解决方法就是在链接器输入lib里加上legacy_stdio_definitions.lib这个LIB

处理 __iob_func 无法链接的问题相关推荐

  1. 解决:无法解析的外部符号__iob_func

    解决:无法解析的外部符号__iob_func 原文:http://blog.csdn.net/hebbely/article/details/53780562 在使用 VS2015 下使用 libjp ...

  2. 解决链接错误:error LNK2001: 无法解析的外部符号 __iob

    该错误主要是由于静态库在VC6编译而主程序在VC2005编译,大家用的CRT不同.解决办法,代码中增加 #ifdef __cplusplus extern "C" #endif F ...

  3. VS2017下解决:error LNK2019: 无法解析的外部符号 __iob_func

    新版vs把函数名做了改动,即VS2015和VS2017中__iob_func改成了__acrt_iob_func,所以需要进行函数转换. /* 当libjpeg-turbo为vs2010编译时,vs2 ...

  4. 使用VS2017生成的动态库时出现__acrt_iob_func链接错误

    使用VS2013等版本进行程序开发时,若用到VS2017或更高版本编译的动态链接库,编译时会出现一些特殊的链接错误,其中一个错误是关于__acrt_iob_func的: error LNK2001: ...

  5. LNK2019 unresolved external symbol __iob_func referenced in function _OPENSSL_stderr

    问题的解决方法是从英文论坛stackOverflow上找到的,但楼层比较混乱,所以特意整理记录如下,参考链接. 问题描述 VS2015链接报错: 所编译的程序中有链接静态库libeay32.lib L ...

  6. VS2015下解决:error LNK2019: 无法解析的外部符号 __iob_func

    在使用VS2015下使用libjpeg-turbo静态库,编译时报错了: error LNK2019: 无法解析的外部符号 __iob_func,该符号在函数 output_message 中被引用 ...

  7. VS2015下解决:无法解析的外部符号 __imp___vsnprintf 及__iob_func

    1.解决:无法解析的外部符号 __imp___vsnprintf 在 vs2015 工程选项,链接器附加依赖项里面添加 legacy_stdio_definitions.lib 即可. 出现这个问题的 ...

  8. Linux下创建硬链接,文件访问为空,提示:xxxx: 符号连接的层数过多

    Linux下创建软链接|硬链接,文件访问为空,提示:x x x: 符号连接的层数过多. 原因:创建符号链接的时候未使用绝对路径,无论是源文件路径还是目标路径,都需要使用绝对路径. 如: ln -s / ...

  9. Go 编译的可执行文件是否有动态库链接?

    Go 引用了其他包的话,是将引用的包都编译进去.用 ldd 看几个 Go 编译出来的二进制程序有的没有动态链接库的使用.但是有的又有引用动态链接库,这个是为什么? 回答:Go 默认是开启 CGO_EN ...

最新文章

  1. 深度学习(1)基础1 -- 深度学习与神经网络基础
  2. Python基于statsmodels包构建多元线性回归模型:模型构建、模型解析、模型推理预测
  3. 网络功能虚拟化(NFV)的作用—Vecloud微云
  4. Html5和Css3扁平化风格网页
  5. Python 基础 —— docstring
  6. 【android-音视频】listview中播放音频,实现音频时长的倒计时,暂停,切换。
  7. Javaweb重要知识点总结(六)常见的前端框架
  8. Nlp预处理方法(BPE Byte pair encoding、Normalization、Lemmatisation、Stemming…)
  9. 计算机应用责编处理录用几率大吗,等待责编处理是什么意思
  10. 免费从麦田影视下载英文字幕电影方法图解#
  11. Android11 GPS 流程代码走读
  12. 计算机色颜色有几种,电脑显示器怎么选?10、8、6bit不同色深都有哪些区别?...
  13. 【水汐のc++】建立一个会员管理程序, 每个会员的登记内容包括会员编号、 会员卡号、累计消费金额,可以分别按会员编号、 会员卡号进行查询,也可以增加或删除会员信息。
  14. EasyExcel 实现模板导出、模板导入分析功能
  15. Python学习之路36-使用future处理并发
  16. 汇付国际为跨境电商赋能:做合规的跨境支付平台!
  17. 50台计算机教室多少带宽够,电脑工作室,200m宽带有几十根都是可以五拨的,用软路由多拨上网...
  18. 浅析深度学习中的mask操作
  19. linux如何查看ip
  20. TCP/UDP常用端口列表

热门文章

  1. 如何设置UISwitch的大小
  2. 淘客渠道商备案及流程说明
  3. 亲测linux系统安装mysql5.7.22
  4. were passed to component but could not be automatically inherited because component renders fragment
  5. 使用 Laragon 在 Windows 中快速搭建 Laravel 本地开发环境 (转)
  6. 磐石云服务器_超牛的盘石云服务器平台
  7. 获取当前日期的三个月前的日期
  8. 机器学习实战——绘制决策树(代码)
  9. 如何设置一个按钮 左边方形右边圆形
  10. 小米5S_2015711_官方线刷包_救砖包_解账户锁