【发布时间】:2011-05-11 09:27:07
【问题描述】:
我正在尝试在 Objective-C 中制作一个包装器,因此我不必在库类之外编写 c++。
库主文件为LLAHProcessor.h .cpp
我的包装器是LLAHProcessorWrapper.h .mm
它编译得很好,但是当我将 LLAHProcessorWrapper 添加到其他类时,(比如说 UIView)作为成员变量,我得到了数百个错误,例如:
#include <map> : Map no such a file or directory
在每个 c++ 类/结构中:
Expected specifier-qualifier list before ClassName
就像编译器无法识别 c++ 代码一样。
我想知道我在这里缺少什么。 是否必须与我将其添加到 Xcode 目标属性的事实有关:?
Other Link Flags : -lstdc++ -lz
或者我可能需要在这里添加新标志?
提前致谢
【问题讨论】:
-
LLAHProcessorWrapper.h不包含任何 C++ 代码至关重要。LLAHProcessor.h应该导入到您的.mm中。文件,而不是在.h文件中。你这样做了吗? -
项目中还有.m文件?
-
@Chris 我有很多 .m 文件。这是一个相当大的程序。
-
@Ole,好的,我明白你的意思,但如果我这样做,我应该如何拥有成员变量?我应该将它们添加到 LLAHProcessorWrapper.mm 文件中的方法实现之外吗?
-
对实例变量使用
void *指针。请参阅 Peylow 的回答。
标签: iphone c++ objective-c xcode stl