在 Xcode 中编译预编译 header 时找不到 iostream 文件错误
iostream file not found error when compiling a precompile header in Xcode
我在 Xcode 9 中编译我的 Prefix.pch
预编译 header 文件时出现 'iostream' file not found
错误。编译器似乎找不到它,但它找到了<stdio.h>
和 <Foundation/Foundation.h>
文件就好了。
#include <stdio.h> // ok
#include <iostream> // error
#import <Foundation/Foundation.h> // ok
[编辑]
该项目混合了 C++ 和 Objective-C 文件,我试图将一些 header C++ 文件放入 .pch
文件中。我无法弄清楚如何在 .pch
文件中混合使用两者。
您应该使用 #ifdef
预处理器指令修改 pch:
#ifdef __cplusplus
#include <cstdio>
#include <iostream>
#endif
#ifdef __OBJC__
#import <Foundation/Foundation.h>
#enid
(我只是运行进入这个问题,并通过这种方式解决了它。)
我在 Xcode 9 中编译我的 Prefix.pch
预编译 header 文件时出现 'iostream' file not found
错误。编译器似乎找不到它,但它找到了<stdio.h>
和 <Foundation/Foundation.h>
文件就好了。
#include <stdio.h> // ok
#include <iostream> // error
#import <Foundation/Foundation.h> // ok
[编辑]
该项目混合了 C++ 和 Objective-C 文件,我试图将一些 header C++ 文件放入 .pch
文件中。我无法弄清楚如何在 .pch
文件中混合使用两者。
您应该使用 #ifdef
预处理器指令修改 pch:
#ifdef __cplusplus
#include <cstdio>
#include <iostream>
#endif
#ifdef __OBJC__
#import <Foundation/Foundation.h>
#enid
(我只是运行进入这个问题,并通过这种方式解决了它。)