我有一个Microsoft Visual C ++ 6.0项目并使用MS VS Professional 2010试用成功转换它。没有发生转换问题。但是,在构建转换后的项目时,它告诉我,找不到“iostream.h”。
我知道新的标准化“iostream”和“using namespace std”修复。
但我需要使用旧的iostream.h。有办法实现吗?原因是,这个项目依赖于使用旧的iostream.h的旧静态库。
有什么建议吗?
答案 0 :(得分:4)
如果您有依赖iostream.h的源代码,请更改它。 如果您有完全无法更改的源代码,请自行编写iostream.h:
#include <iostream>
using namespace std;
静态库不可能依赖于头文件。源代码或其他头文件包含头文件,静态库由目标代码组成。但是,库的头文件可以依赖于iostream.h。 库本身可以依赖于C ++标准库。 我假设自MSVC 6.0以来对Microsoft标准库进行了不兼容的更改,因此如果您没有源代码或更新版本的静态库,那么您可能运气不佳。
答案 1 :(得分:0)
您使用的是预编译的标头吗?如果是这样,那么您必须在iostream.h
文件中包含stdafx.h
或删除预编译的标头。无论如何,似乎没有理由使用已弃用的iostream.h
而不是iostream
,因此您可能应该更改需要旧版本的代码部分(如果是这样)。
答案 2 :(得分:0)
替换
#include <iostream.h>
与
using namespace std;
#include <iostream>