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

标签 c++ xcode opengl

<分区>

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

升级到 4.5 后,Xcode 开始出现奇怪的行为

在下一行

#include <fstream.h>

编译失败并出现以下错误消息:找不到词法或预处理器问题“fstream.h”文件。

同样的代码在Xcode 4.2中编译成功

将行更改为

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

修复了问题,但产生了其他几个编译错误。

最佳答案

fstream.h 不是 C++ 头文件。当您使用较长的路径名时,您正在访问一个不同的、不兼容的标准库实现(名为 libstdc++),它有一个名为 fstream.h 的兼容性 header (为了与准标准 C++ 兼容;C++ 在 14 年前就已标准化)。

fstream.h 与 Xcode 4.2 一起工作,因为该版本的 Xcode 默认使用 libstdc++,但 Xcode 4.5 已改为默认使用 libc++。

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

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

关于c++ - Xcode 4.5 问题与简单的 OpenGL C++ 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13033596/

相关文章:

c++ - Visual Studio Code C/C++ 扩展没有为编译器设置包含路径

c++ - 这是排序 ptr_vector 的正确方法吗?

c++ - 仅包含第一个派生类

c++ - Windows 10 上 VS 2015 中 nupengl GLFW 的链接错误

c++ - 虚拟试衣间设计

在 Maverick : glShaderSource no matching function 上使用 GLFW3 的 C++ 代码

c++ - 使用 cin 丢弃数字以外的字母

ios - 在模拟器上运行应用程序时,它崩溃并提示 thread 1 : breakpoint 3. 1. 我该怎么办?

objective-c - 在 Objective C header 中访问 Swift 类

ios - 应用程序标识符与 'lite' 和 'pro' 版本