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

Nab*_*egh 0 c++ opengl xcode

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

升级到4.5后,Xcode开始以一种奇怪的方式运行

在以下行中

#include <fstream.h>
Run Code Online (Sandbox Code Playgroud)

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

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

将线路更改为

#include <c++/4.2.1/backward/fstream.h>
Run Code Online (Sandbox Code Playgroud)

修复了问题,但生成了其他一些编译错误.

bam*_*s53 7

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

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

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

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