从Objective-C头文件包含C ++头文件时,它具有编译错误,未找到iostream

Nicholas Xu

TestViewController.h / TestViewController.mm

HelloWorld.h / HelloWorld.cpp

如果我在TestViewController.mm中包含“ HelloWorld.h”,则编译效果很好。当我在TestViewController.h中包含“ HelloWorld.h”时,会提示错误:找不到“ iostream”文件。

我的HelloWorld.h代码是一个简单的标准cpp文件。

#ifndef __MixedCppTest__HelloWorld__
#define __MixedCppTest__HelloWorld__

#include <iostream>
#include <vector>

class HelloWorld {


public:
    HelloWorld();
    ~HelloWorld();
};
#endif /* defined(__MixedCppTest__HelloWorld__) */
大黑点

当我在TestViewController.h中包含“ HelloWorld.h”时,出现提示错误:找不到“ iostream”文件…。

是否有导入TestViewController.h的Objective-C文件?在预处理阶段,头文件将成为翻译单元的一部分(与源文件一起),如果您要求将此类头文件(包括c ++库和c ++类定义)包括到Objective-C源文件中,则不,这是不可能的。如果您搜索一种将.cpp和.m源文件编译并链接到一个二进制文件的方法,则可以使.mm包装器单元将它们连接在一起。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章