为C+构建包装器框架+;Xcode中的项目 P> >,我有一个C++项目,我想把它作为一个框架来封装(在ObjtoVC/C++中写成C++代码),这样我就可以在一个Swift或Objy-C项目中使用它,只需将框架添加到应用程序中。

为C+构建包装器框架+;Xcode中的项目 P> >,我有一个C++项目,我想把它作为一个框架来封装(在ObjtoVC/C++中写成C++代码),这样我就可以在一个Swift或Objy-C项目中使用它,只需将框架添加到应用程序中。,c++,ios,objective-c,xcode,frameworks,C++,Ios,Objective C,Xcode,Frameworks,我迄今为止所取得的成就: <module-includes>:1:9: note: in file included from <module-includes>:1: #import "Headers/Box2D.h" ^ /Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Bo

我迄今为止所取得的成就:

<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "Headers/Box2D.h"
        ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D.h:17:9: note: in file included from /Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D.h:17:
#import "World.h"
        ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/World.h:10:9: note: in file included from /Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/World.h:10:
#import "Box2D/Box2D.h"
        ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Box2D.h:34:10: note: in file included from /Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Box2D.h:34:
#include "Box2D/Common/b2Settings.h"
         ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Common/b2Settings.h:153:8: error: must use 'struct' tag to refer to type 'b2Version'
extern b2Version b2_version;
       ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "Headers/Box2D.h"
        ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D.h:17:9: note: in file included from /Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D.h:17:
#import "World.h"
        ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/World.h:10:9: note: in file included from /Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/World.h:10:
#import "Box2D/Box2D.h"
        ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Box2D.h:35:10: note: in file included from /Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Box2D.h:35:
#include "Box2D/Common/b2Draw.h"
         ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Common/b2Draw.h:22:10: note: in file included from /Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Common/b2Draw.h:22:
#include "Box2D/Common/b2Math.h"
         ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Common/b2Math.h:28:31: error: unexpected type name 'int32': expected expression
        int32 ix = *reinterpret_cast<int32*>(&x);
  • 创建了所有包装
  • 在构建阶段公开包装器的公共头
  • 在构建阶段添加了一个run脚本,将所有C++头文件(保持文件目录结构)简单地复制到框架的目录中,这样它们就可以使用框架来应用。我之所以这样做,而不仅仅是将它们放在构建阶段的headers字段中,是因为有很多文件和文件夹,这样做需要我将每个头更改为
    #include“LocalHeader.h”
    ,而不是将其当前写为
    #include“CppRootFolder/Subfolder/header.h”
    。另外,我不想这样做,因为我希望保持C++文件不变。
问题:

<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "Headers/Box2D.h"
        ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D.h:17:9: note: in file included from /Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D.h:17:
#import "World.h"
        ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/World.h:10:9: note: in file included from /Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/World.h:10:
#import "Box2D/Box2D.h"
        ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Box2D.h:34:10: note: in file included from /Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Box2D.h:34:
#include "Box2D/Common/b2Settings.h"
         ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Common/b2Settings.h:153:8: error: must use 'struct' tag to refer to type 'b2Version'
extern b2Version b2_version;
       ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "Headers/Box2D.h"
        ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D.h:17:9: note: in file included from /Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D.h:17:
#import "World.h"
        ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/World.h:10:9: note: in file included from /Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/World.h:10:
#import "Box2D/Box2D.h"
        ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Box2D.h:35:10: note: in file included from /Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Box2D.h:35:
#include "Box2D/Common/b2Draw.h"
         ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Common/b2Draw.h:22:10: note: in file included from /Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Common/b2Draw.h:22:
#include "Box2D/Common/b2Math.h"
         ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Common/b2Math.h:28:31: error: unexpected type name 'int32': expected expression
        int32 ix = *reinterpret_cast<int32*>(&x);
除了在构建实际的应用程序时,xcode会出错,说它在文件结构中找不到文件之外,一切似乎都很正常。为了说明我的意思,我有以下几点:

  • 框架的伞文件将包含“CPPROOTHOPE/HOPEN .H”< /C>(C++伞文件)
  • 在CppRootFolder/umbrane.h中,我有几个
    #包括“CppRootFolder/Subfolder/Header.h”
  • 每个子文件夹中的每个头文件都包含从C++代码的根文件夹引用的其他头文件。
我对此的看法:

<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "Headers/Box2D.h"
        ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D.h:17:9: note: in file included from /Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D.h:17:
#import "World.h"
        ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/World.h:10:9: note: in file included from /Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/World.h:10:
#import "Box2D/Box2D.h"
        ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Box2D.h:34:10: note: in file included from /Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Box2D.h:34:
#include "Box2D/Common/b2Settings.h"
         ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Common/b2Settings.h:153:8: error: must use 'struct' tag to refer to type 'b2Version'
extern b2Version b2_version;
       ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "Headers/Box2D.h"
        ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D.h:17:9: note: in file included from /Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D.h:17:
#import "World.h"
        ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/World.h:10:9: note: in file included from /Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/World.h:10:
#import "Box2D/Box2D.h"
        ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Box2D.h:35:10: note: in file included from /Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Box2D.h:35:
#include "Box2D/Common/b2Draw.h"
         ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Common/b2Draw.h:22:10: note: in file included from /Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Common/b2Draw.h:22:
#include "Box2D/Common/b2Math.h"
         ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Common/b2Math.h:28:31: error: unexpected type name 'int32': expected expression
        int32 ix = *reinterpret_cast<int32*>(&x);

我似乎清楚,问题是编译器需要从C++代码的根文件夹中找到标题。因此,在实际的应用程序中,在构建设置中,我添加了一个标题搜索路径:$build\u PRODUCTS\u DIR/FrameworkName.framework/Headers,这是我用脚本复制所有标题的地方。但是,构建失败并产生大量随机错误,无法识别已定义的类型

有什么办法可以让它工作吗

谢谢

更新(日志):

<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "Headers/Box2D.h"
        ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D.h:17:9: note: in file included from /Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D.h:17:
#import "World.h"
        ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/World.h:10:9: note: in file included from /Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/World.h:10:
#import "Box2D/Box2D.h"
        ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Box2D.h:34:10: note: in file included from /Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Box2D.h:34:
#include "Box2D/Common/b2Settings.h"
         ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Common/b2Settings.h:153:8: error: must use 'struct' tag to refer to type 'b2Version'
extern b2Version b2_version;
       ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "Headers/Box2D.h"
        ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D.h:17:9: note: in file included from /Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D.h:17:
#import "World.h"
        ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/World.h:10:9: note: in file included from /Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/World.h:10:
#import "Box2D/Box2D.h"
        ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Box2D.h:35:10: note: in file included from /Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Box2D.h:35:
#include "Box2D/Common/b2Draw.h"
         ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Common/b2Draw.h:22:10: note: in file included from /Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Common/b2Draw.h:22:
#include "Box2D/Common/b2Math.h"
         ^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqqcvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Common/b2Math.h:28:31: error: unexpected type name 'int32': expected expression
        int32 ix = *reinterpret_cast<int32*>(&x);
:1:9:注意:在包含的文件中:1:
#导入“Headers/Box2D.h”
^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqvkeqyzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D.h:17:9:注意:在/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgath-dgathvjusrdgslfvqvkeqqyzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D.h:17中包含的文件中
#导入“World.h”
^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/World.h:10:9:注意:在/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgath/jusrdgslfvqvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/World.h:10:
#导入“Box2D/Box2D.h”
^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqvkeqyzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Box2D.h:34:10:注意:在/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgation-dgath/dgathvjusrdgslfvqqvkeqyzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Box2D/box2
#包括“Box2D/Common/b2Settings.h”
^
/Users/luis/Library/Developer/Xcode/DerivedData/Project dGathVjusrdgslFVqVkeQyJZCB/Build/Products/Debug iphoneos/Box2D.framework/Headers/Box2D/Common/b2Settings.h:153:8:错误:必须使用“struct”标记来引用类型“b2Version”
外部b2版本b2_版本;
^
:1:9:注意:在文件中包括:1:
#导入“Headers/Box2D.h”
^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqvkeqyzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D.h:17:9:注意:在/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgath-dgathvjusrdgslfvqvkeqqyzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D.h:17中包含的文件中
#导入“World.h”
^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/World.h:10:9:注意:在/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgath/jusrdgslfvqvkeqyjzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/World.h:10:
#导入“Box2D/Box2D.h”
^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgathvjusrdgslfvqvkeqyzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Box2D.h:35:10:注意:在/Users/luis/Library/Developer/Xcode/DerivedData/Project-dgation-dgath/dgathvjusrdgslfvqqvkeqyzcb/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Box2D/box2
#包括“Box2D/Common/b2Draw.h”
^
/Users/luis/Library/Developer/Xcode/DerivedData/Project-dGathVjuSrdgslFVqVkeQyJZCB/Build/Products/Debug-iphoneos/Box2D.framework/Headers/Box2D/Common/b2Draw.h:22:10:注意:包含在/Users/luis/Library/Developer/Xcode/DerivedData/Project dGathVjuSrdgslFVqVkeQyJZCB/Build/Products/Debug iphoneos/Box2D.framework/Headers/Box2D/Common/b2Draw.h:22:
#包括“Box2D/Common/b2Math.h”
^
/Users/luis/Library/Developer/Xcode/DerivedData/Project DgathVjusrdgslFVqVkeQyJZCB/Build/Products/Debug iphoneos/Box2D.framework/Headers/Box2D/Common/b2Math.h:28:31:错误:意外类型名称“int32”:预期表达式
int32 ix=*重新解释铸件(&x);

当你写包装时,C++不应该在外面可见。 所以<>代码>包含“CPPHEDARFILE .h”< /> >不能在包装器外访问,否则将在目标C代码中使用C++出错。 <> PC++标题不应有伞头文件。< /P> 请提供技术详细信息:您看到的复制粘贴错误消息。Y

#import "KXSomeClass+Internal.h"

@interface KXSomeClass ()
@property (assign, nonatomic) std::shared_ptr<SomeClass> native;
@end

#import "KXSomeClass+Internal.h"
#include "cpp/SomeClass.h"

@implementation CSCapability

- (instancetype)initWithNativeSomeClass:(const std::shared_ptr<SomeClass>&)nativeObject
{
    if (self = [super init]) {
         _native = nativeObject;
    }
    return self;
}

- (NSUInteger)someAction:(NSString *)s
{
    return _native->SomeAction(s.UTF8String);
}

- (BOOL)allowed
{
    return _native->Allowed();
}

@end