chenpingjun1990

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  0 随笔 :: 22 文章 :: 5 评论 :: 0 Trackbacks
unresolved external symbol __iob

1、缺少libc.lib
解决这个问题的方法是去掉链接到libc.lib,具体地点:项目-〉属性-〉配置属性-〉链接器-〉忽略特定库。

这个我是在命令行中加入:/nodefaultlib:libc

2、unresolved external symbol __iob
这个__iob找不到的问题费了我大部分的时间。跟踪到 stdio.h文件,发现那里有个关于iob的宏,终于搞定。加入一句话到.cpp文件中:extern "C" { FILE _iob[3] = {__iob_func()[0], __iob_func()[1], __iob_func()[2]}; }

强烈推荐这条,帮我解决了大问题!!

3、NULL iterator
STL已经不能有NULL迭代器这么一说了,想想也对,在NULL迭代器上进行++或--之类的是不成立的。

4、结构体默认函数
在VC6中,结构体的默认运算符==或者<之类的如果不实现也可以作为STL元素放入list等容器中。但VC8不行了,因为它已经不再为结构体生成缺省的操作符函数。

5、AfxMessageBox

“AfxMessageBox”: 2 个重载中没有一个可以转换所有参数类,需要在项目属性->常规->字符集->未设置


posted on 2011-12-26 17:04 万川先生 阅读(402) 评论(0)  编辑 收藏 引用 所属分类: Cplusplus