error LNK2019: 无法解析的外部符号 __imp___iob_func,该符号在函数 amqp_abort 中被引用,无法解析的外部符号 __imp_vfprintf

来源:互联网 发布:电脑群发短信软件 免费 编辑:程序博客网 时间:2024/06/08 09:28

error LNK2019: 无法解析的外部符号 __imp___iob_func,该符号在函数 amqp_abort 中被引用
error LNK2019: 无法解析的外部符号 __imp_vfprintf,该符号在函数 amqp_abort 中被引用

在用vs2017编译一个源码库是报错,查说是包含库的编译器版本低于当前编译版本,需要将包含库源码用vs2017重新编译,由于没有包含库的源码,此路不通。
然后查到说是stdin, stderr, stdout 这几个函数vs2015和以前的定义得不一样,所以报错。
解决方法呢,就是使用{*stdin,*stdout,*stderr}数组自己定义__iob_func()

加两行代码如下

#pragma comment(lib,"legacy_stdio_definitions.lib")extern "C" { FILE __iob_func[3] = { *stdin,*stdout,*stderr }; }

编译通过

阅读全文
0 0
原创粉丝点击