error LNK2019: unresolved externa l symbol __iob referenced in function _output_message@4

来源:互联网 发布:面板数据因子分析 编辑:程序博客网 时间:2024/05/18 02:13
  1. vs2003,vs2005,vs2008:
  2. 0 将libjpeg_vc7里的libjpeg.lib替换win32depends/lib下的vc6版本的libjpeg.lib
  3. 1 将include和lib设置成VS200x的包含和库目录
  4. 2 将win32depends/include和win32depends/lib设置成VS200x的包含和库目录
  5. 3 打开win32builds/libnge2.dsw编译转换选全是即可

  6. //如果不做0会链接时出现下面
  7. 链接时会出现这个错误:
  8. libjpeg.lib(jerror.obj) : error LNK2019: unresolved external symbol __iob referenced in function _output_message
  9. //该错误主要是由于静态库在VC6编译而主程序在VC2005编译,大家用的CRT不同。解决办法,main函数所在文件中代码中增加
  10. #ifdef __cplusplus
  11. extern "C" 
  12. #endif
  13. FILE _iob[3] = {__iob_func()[0], __iob_func()[1], __iob_func()[2]}; 
  14. 上述方法也可以解决,但是每次新建一个文件都要替换这部分代码,还不如换lib