原文:https://blog.csdn.net/u011261430/article/details/78595658
方法一(我用的这种方法,因为这个能最快的解决问题):
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 }; }
方法二:用高版本(我的是2015)VS重新编译OpenSSL