【问题标题】:iostream file not found error when compiling a precompile header in Xcode在 Xcode 中编译预编译头时找不到 iostream 文件错误
【发布时间】:2017-12-07 12:37:18
【问题描述】:

在 Xcode 9 中编译我的 Prefix.pch 预编译头文件时出现 'iostream' file not found 错误。编译器似乎找不到它,但它找到了 <stdio.h><Foundation/Foundation.h> 文件就好了。

#include <stdio.h> // ok
#include <iostream> // error
#import <Foundation/Foundation.h> // ok

[编辑] 该项目是 C++ 和 Objective-C 文件的混合体,我试图将一些 C++ 头文件拉入.pch 文件。我无法弄清楚如何在.pch 文件中混合两者。

【问题讨论】:

  • 您正在构建 C++ 源文件吗?还是 C 源文件?您能否复制完整和完整的输出(作为文本)并将其粘贴到问题中?它应该包括应该给我们(和你!)一些提示的文件名。
  • 这是一个预编译头文件,一个.pch文件。
  • 您仍然需要复制粘贴完整的输出。
  • 实际上,#import 的东西可以给出一个提示:它是 Objective-C(或 Objective-C++)的一部分。我的猜测是你正在构建一个Objective-C项目,而不是Objective-C++。
  • 我没有编译的文本输出。我在 Xcode 中编译。我在问题导航器中显示了输出。错误是:'iosstream' file not found 在 Prefix.pch

标签: c++ xcode pch


【解决方案1】:

您应该使用 #ifdef 预处理器指令修改 pch:

#ifdef __cplusplus
#include <cstdio>
#include <iostream>
#endif

#ifdef __OBJC__
#import <Foundation/Foundation.h>
#enid

(我刚好碰到这个问题,就这样解决了。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-16
    • 2015-01-05
    • 1970-01-01
    • 2015-06-06
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 2014-12-14
    相关资源
    最近更新 更多