Xcode 4.5问题与简单的OpenGL C ++代码

时间:2012-10-23 15:10:04

标签: c++ xcode opengl

我在Xcode中有一个简单的OpenGL项目。

升级到4.5

后,Xcode开始以一种奇怪的方式运行

在以下一行

#include <fstream.h>

编译因以下错误消息而失败:未找到词法或预处理器问题'fstream.h'文件。

用于在Xcode 4.2中成功编译的相同代码

将行更改为

#include <c++/4.2.1/backward/fstream.h>

修复了问题但产生了其他一些编译错误。

1 个答案:

答案 0 :(得分:7)

fstream.h不是C ++标头。当您使用较长的路径名时,您正在访问另一个不兼容的标准库实现(名为libstdc ++),该实现具有名为fstream.h的兼容性标头(为了与预标准C ++兼容; C ++在14年前已标准化)。 / p>

fstream.h使用Xcode 4.2,因为该版本的Xcode默认使用了libstdc ++,但Xcode 4.5默认使用了libc ++。

解决方案是使用标准C ++并包含<fstream>

或者,我不建议这样做,你可以在项目设置中切换你正在使用的标准库实现。