【发布时间】:2010-08-30 08:17:14
【问题描述】:
我正在将旧版 C++ 系统从 VC6 移植到 VC9。
应用程序(<APP A>) 静态链接到内部应用程序 <APP B>(内部开发,但由单独的团队开发)。
来自<APP B> 的头文件的本地副本包含在 CPP 文件中并在 <APP A>. 中编译
目前我们不打算将<APP B> 迁移到 VC9。虽然<APP A> 和<APP B> 都将使用单独的CRT,但预计不会发生冲突。
我们面临的问题是来自 (local copy in) 的包含文件没有被 VC9 编译。
致命错误 C1083:无法打开包含 文件:'iostream.h':没有这样的文件或 目录
可能的解决方案:
如果我在 <APP A> 的本地副本中进行更改并使用 VC9 进行编译,那么我不确定它是否会在运行时引起一些问题。
有没有其他方法可以让 VC9 用<iostream.h> 而不是<iostream> 编译<APP A> 文件?
【问题讨论】:
-
"将使用单独的 CRT,但不会发生冲突。"你为什么不期待冲突?如果
<APP B>(可能是一个库)在其头文件中引用流对象,并且当您在 A 和 B 之间调用时使用这些流对象的不同定义,那么(从表面上看)您很可能会拥有严重的问题。 -
APP之间存在数据交换是对的。但是这里没有这样的交换,因此,我认为没有冲突。
标签: c++ porting visual-c++-6 visual-c++-2008