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

rror 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 }; }

 

编译通过

你可能感兴趣的:(c++)