easyX最新版在VS2015上的问题解决啦啦

7.10

修改完easyX的路径,只剩下一个问题 

【】无法解析的外部符号_iob_func,该符号在函数“”中被引用

【】1个无法解析的外部命令

原因:

版本的问题,代码已经编译过了,但是是2012版本的,我的vs是15版本应该是这个原因。
http://tieba.baidu.com/p/4034517162?qq-pf-to=pcqq.c2c从该帖子学习

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

 解决完该问题,第二个问题也没有了~~~~~

 

posted @ 2016-07-10 12:53  1920810901  阅读(2162)  评论(0编辑  收藏  举报