标签:
7.10
修改完easyX的路径,只剩下一个问题
【】无法解析的外部符号_iob_func,该符号在函数“”中被引用
【】1个无法解析的外部命令
原因:
VS2015中,微软的标准库对标准输入输出流的宏定义改_ACRTIMP_ALT FILE* __cdecl __acrt_iob_func(unsigned);
#define stdin (__acrt_iob_func(0))
#define stdout (__acrt_iob_func(1))
#define stderr (__acrt_iob_func(2))
在vs2010-2013版本中,微软的标准库对标准输入输出流的宏定义
_CRTIMP FILE * __cdecl __iob_func(void);
#define stdin (&__iob_func()[0])
#define stdout (&__iob_func()[1])
#define stderr (&__iob_func()[2])
导致EasyX在VS2015 RC 中出现 LNK 2019 无法解析的外部符号 __iob_func 错误
静态库链接出现错误__iob_func,重新定义__iob_func数组就可解决此问题。
解决办法:在easyx.h文件头加如下定义即可:
#ifdef __cplusplus extern "C" #endif FILE __iob_func[3] = { __acrt_iob_func(0),__acrt_iob_func(1),__acrt_iob_func(2) };
解决完该问题,第二个问题也没有了
解决方法来自http://tieba.baidu.com/p/4034517162?qq-pf-to=pcqq.c2c
标签:
原文地址:http://www.cnblogs.com/xiaogui123/p/5657494.html